VS: Generate Nsight Tegra project revision number

Nsight Tegra 2.0 will be revision '8'.  Generate this revision number
and add a NsightTegraUpgradeOnceWithoutPrompt element to tell newer
versions not to prompt when upgrading the generated project file.
This commit is contained in:
Brad King 2014-09-26 14:57:30 -04:00
parent 5365c9ac37
commit 69e198dc3f
4 changed files with 34 additions and 3 deletions

View File

@ -619,6 +619,12 @@ bool cmGlobalVisualStudio10Generator::IsNsightTegra() const
return !this->NsightTegraVersion.empty();
}
//----------------------------------------------------------------------------
std::string cmGlobalVisualStudio10Generator::GetNsightTegraVersion() const
{
return this->NsightTegraVersion;
}
//----------------------------------------------------------------------------
std::string cmGlobalVisualStudio10Generator::GetInstalledNsightTegraVersion()
{

View File

@ -61,6 +61,7 @@ public:
/** Generating for Nsight Tegra VS plugin? */
bool IsNsightTegra() const;
std::string GetNsightTegraVersion() const;
/** The toolset name for the target platform. */
const char* GetPlatformToolset() const;

View File

@ -181,6 +181,14 @@ cmVisualStudio10TargetGenerator(cmTarget* target,
this->GUID = this->GlobalGenerator->GetGUID(this->Name.c_str());
this->Platform = gg->GetPlatformName();
this->NsightTegra = gg->IsNsightTegra();
for(int i =
sscanf(gg->GetNsightTegraVersion().c_str(), "%u.%u.%u.%u",
&this->NsightTegraVersion[0], &this->NsightTegraVersion[1],
&this->NsightTegraVersion[2], &this->NsightTegraVersion[3]);
i < 4; ++i)
{
this->NsightTegraVersion[i] = 0;
}
this->MSTools = !this->NsightTegra;
this->TargetCompileAsWinRT = false;
this->BuildFileStream = 0;
@ -316,9 +324,24 @@ void cmVisualStudio10TargetGenerator::Generate()
if(this->NsightTegra)
{
this->WriteString("<PropertyGroup Label=\"NsightTegraProject\">\n", 1);
if(this->NsightTegraVersion[0] >= 2)
{
// Nsight Tegra 2.0 uses project revision 8.
this->WriteString("<NsightTegraProjectRevisionNumber>"
"8"
"</NsightTegraProjectRevisionNumber>\n", 2);
// Tell newer versions to upgrade silently when loading.
this->WriteString("<NsightTegraUpgradeOnceWithoutPrompt>"
"true"
"</NsightTegraUpgradeOnceWithoutPrompt>\n", 2);
}
else
{
// Require Nsight Tegra 1.6 for JCompile support.
this->WriteString("<NsightTegraProjectRevisionNumber>"
"7"
"</NsightTegraProjectRevisionNumber>\n", 2);
}
this->WriteString("</PropertyGroup>\n", 1);
}

View File

@ -142,6 +142,7 @@ private:
std::string Name;
bool MSTools;
bool NsightTegra;
int NsightTegraVersion[4];
bool TargetCompileAsWinRT;
cmGlobalVisualStudio10Generator* GlobalGenerator;
cmGeneratedFileStream* BuildFileStream;