VS: Delay platform definitions until system name is known
Move the definition of CMAKE_VS_PLATFORM_NAME and other variables that are not needed by CMakeDetermineSystem out of the AddPlatformDefinitions method and into a SetSystemName method. The latter may later use CMAKE_SYSTEM_NAME to decide what platform-specific definitions to add.
This commit is contained in:
parent
d3d9218a52
commit
6e176e6d9e
|
@ -125,10 +125,11 @@ cmGlobalVisualStudio10Generator::SetGeneratorToolset(std::string const& ts,
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmGlobalVisualStudio10Generator::AddPlatformDefinitions(cmMakefile* mf)
|
bool cmGlobalVisualStudio10Generator::SetSystemName(std::string const& s,
|
||||||
|
cmMakefile* mf)
|
||||||
{
|
{
|
||||||
cmGlobalVisualStudio8Generator::AddPlatformDefinitions(mf);
|
|
||||||
this->AddVSPlatformToolsetDefinition(mf);
|
this->AddVSPlatformToolsetDefinition(mf);
|
||||||
|
return this->cmGlobalVisualStudio8Generator::SetSystemName(s, mf);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -31,6 +31,7 @@ public:
|
||||||
virtual bool MatchesGeneratorName(const std::string& name) const;
|
virtual bool MatchesGeneratorName(const std::string& name) const;
|
||||||
|
|
||||||
virtual bool SetGeneratorToolset(std::string const& ts, cmMakefile* mf);
|
virtual bool SetGeneratorToolset(std::string const& ts, cmMakefile* mf);
|
||||||
|
virtual bool SetSystemName(std::string const& s, cmMakefile* mf);
|
||||||
|
|
||||||
virtual void GenerateBuildCommand(
|
virtual void GenerateBuildCommand(
|
||||||
std::vector<std::string>& makeCommand,
|
std::vector<std::string>& makeCommand,
|
||||||
|
@ -43,8 +44,6 @@ public:
|
||||||
std::vector<std::string> const& makeOptions = std::vector<std::string>()
|
std::vector<std::string> const& makeOptions = std::vector<std::string>()
|
||||||
);
|
);
|
||||||
|
|
||||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
|
||||||
|
|
||||||
///! create the correct local generator
|
///! create the correct local generator
|
||||||
virtual cmLocalGenerator *CreateLocalGenerator();
|
virtual cmLocalGenerator *CreateLocalGenerator();
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,6 @@ void cmGlobalVisualStudio7Generator
|
||||||
{
|
{
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
|
mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
|
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
|
||||||
this->AddPlatformDefinitions(mf);
|
|
||||||
if(!mf->GetDefinition("CMAKE_CONFIGURATION_TYPES"))
|
if(!mf->GetDefinition("CMAKE_CONFIGURATION_TYPES"))
|
||||||
{
|
{
|
||||||
mf->AddCacheDefinition(
|
mf->AddCacheDefinition(
|
||||||
|
@ -260,7 +259,8 @@ cmLocalGenerator *cmGlobalVisualStudio7Generator::CreateLocalGenerator()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmGlobalVisualStudio7Generator::AddPlatformDefinitions(cmMakefile* mf)
|
bool cmGlobalVisualStudio7Generator::SetSystemName(std::string const& s,
|
||||||
|
cmMakefile* mf)
|
||||||
{
|
{
|
||||||
if(this->PlatformName == "x64")
|
if(this->PlatformName == "x64")
|
||||||
{
|
{
|
||||||
|
@ -273,6 +273,7 @@ void cmGlobalVisualStudio7Generator::AddPlatformDefinitions(cmMakefile* mf)
|
||||||
mf->AddDefinition("CMAKE_VS_PLATFORM_NAME", this->GetPlatformName().c_str());
|
mf->AddDefinition("CMAKE_VS_PLATFORM_NAME", this->GetPlatformName().c_str());
|
||||||
mf->AddDefinition("CMAKE_VS_INTEL_Fortran_PROJECT_VERSION",
|
mf->AddDefinition("CMAKE_VS_INTEL_Fortran_PROJECT_VERSION",
|
||||||
this->GetIntelProjectVersion());
|
this->GetIntelProjectVersion());
|
||||||
|
return this->cmGlobalVisualStudioGenerator::SetSystemName(s, mf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmGlobalVisualStudio7Generator::GenerateConfigurations(cmMakefile* mf)
|
void cmGlobalVisualStudio7Generator::GenerateConfigurations(cmMakefile* mf)
|
||||||
|
|
|
@ -44,7 +44,7 @@ public:
|
||||||
///! Create a local generator appropriate to this Global Generator
|
///! Create a local generator appropriate to this Global Generator
|
||||||
virtual cmLocalGenerator *CreateLocalGenerator();
|
virtual cmLocalGenerator *CreateLocalGenerator();
|
||||||
|
|
||||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
virtual bool SetSystemName(std::string const& s, cmMakefile* mf);
|
||||||
|
|
||||||
/** Get the documentation entry for this generator. */
|
/** Get the documentation entry for this generator. */
|
||||||
static void GetDocumentation(cmDocumentationEntry& entry);
|
static void GetDocumentation(cmDocumentationEntry& entry);
|
||||||
|
|
|
@ -132,11 +132,18 @@ cmLocalGenerator *cmGlobalVisualStudio8Generator::CreateLocalGenerator()
|
||||||
return lg;
|
return lg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmGlobalVisualStudio8Generator
|
||||||
|
::EnableLanguage(std::vector<std::string>const & lang,
|
||||||
|
cmMakefile *mf, bool optional)
|
||||||
|
{
|
||||||
|
this->AddPlatformDefinitions(mf);
|
||||||
|
cmGlobalVisualStudio7Generator::EnableLanguage(lang, mf, optional);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmGlobalVisualStudio8Generator::AddPlatformDefinitions(cmMakefile* mf)
|
void cmGlobalVisualStudio8Generator::AddPlatformDefinitions(cmMakefile* mf)
|
||||||
{
|
{
|
||||||
cmGlobalVisualStudio71Generator::AddPlatformDefinitions(mf);
|
|
||||||
|
|
||||||
if(this->TargetsWindowsCE())
|
if(this->TargetsWindowsCE())
|
||||||
{
|
{
|
||||||
mf->AddDefinition("CMAKE_VS_WINCE_VERSION",
|
mf->AddDefinition("CMAKE_VS_WINCE_VERSION",
|
||||||
|
|
|
@ -36,6 +36,8 @@ public:
|
||||||
///! Create a local generator appropriate to this Global Generator
|
///! Create a local generator appropriate to this Global Generator
|
||||||
virtual cmLocalGenerator *CreateLocalGenerator();
|
virtual cmLocalGenerator *CreateLocalGenerator();
|
||||||
|
|
||||||
|
virtual void EnableLanguage(std::vector<std::string>const& languages,
|
||||||
|
cmMakefile *, bool optional);
|
||||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue