VS: Delay detection of VS 10 Express 64-bit tools

Wait until SetSystemName when the CMAKE_SYSTEM_NAME is known.
Later the decision to use 64-bit tools may depend on it.
This commit is contained in:
Brad King 2014-07-17 16:35:41 -04:00
parent 6e176e6d9e
commit e7fdb44b1b
1 changed files with 7 additions and 8 deletions

View File

@ -128,6 +128,13 @@ cmGlobalVisualStudio10Generator::SetGeneratorToolset(std::string const& ts,
bool cmGlobalVisualStudio10Generator::SetSystemName(std::string const& s, bool cmGlobalVisualStudio10Generator::SetSystemName(std::string const& s,
cmMakefile* mf) cmMakefile* mf)
{ {
if(this->PlatformName == "Itanium" || this->PlatformName == "x64")
{
if(this->IsExpressEdition() && !this->Find64BitTools(mf))
{
return false;
}
}
this->AddVSPlatformToolsetDefinition(mf); this->AddVSPlatformToolsetDefinition(mf);
return this->cmGlobalVisualStudio8Generator::SetSystemName(s, mf); return this->cmGlobalVisualStudio8Generator::SetSystemName(s, mf);
} }
@ -203,14 +210,6 @@ void cmGlobalVisualStudio10Generator
::EnableLanguage(std::vector<std::string>const & lang, ::EnableLanguage(std::vector<std::string>const & lang,
cmMakefile *mf, bool optional) cmMakefile *mf, bool optional)
{ {
if(this->PlatformName == "Itanium" || this->PlatformName == "x64")
{
if(this->IsExpressEdition() && !this->Find64BitTools(mf))
{
return;
}
}
for(std::vector<std::string>::const_iterator it = lang.begin(); for(std::vector<std::string>::const_iterator it = lang.begin();
it != lang.end(); ++it) it != lang.end(); ++it)
{ {