VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefile
When adding more platforms to the Visual Studio generators a simple regular expressing can not handle all cases anymore. This new define holds the name of the Visual Studio target platform.
This commit is contained in:
parent
14861f88d2
commit
d41d4d3d61
|
@ -107,11 +107,14 @@ Id flags: ${testflags}
|
|||
")
|
||||
|
||||
# Compile the compiler identification source.
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([0-9]+)( .NET)?( 200[358])? *((Win64|IA64|ARM))?")
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([0-9]+)")
|
||||
set(vs_version ${CMAKE_MATCH_1})
|
||||
set(vs_arch ${CMAKE_MATCH_4})
|
||||
set(id_arch ${CMAKE_VS_PLATFORM_NAME})
|
||||
set(id_lang "${lang}")
|
||||
set(id_cl cl.exe)
|
||||
if(NOT id_arch)
|
||||
set(id_arch Win32)
|
||||
endif()
|
||||
if(NOT "${vs_version}" VERSION_LESS 10)
|
||||
set(v 10)
|
||||
set(ext vcxproj)
|
||||
|
@ -123,16 +126,14 @@ Id flags: ${testflags}
|
|||
set(v 6)
|
||||
set(ext dsp)
|
||||
endif()
|
||||
if("${vs_arch}" STREQUAL "Win64")
|
||||
if("${id_arch}" STREQUAL "x64")
|
||||
set(id_machine_10 MachineX64)
|
||||
set(id_arch x64)
|
||||
elseif("${vs_arch}" STREQUAL "IA64")
|
||||
elseif("${id_arch}" STREQUAL "Itanium")
|
||||
set(id_machine_10 MachineIA64)
|
||||
set(id_arch ia64)
|
||||
else()
|
||||
set(id_machine_6 x86)
|
||||
set(id_machine_10 MachineX86)
|
||||
set(id_arch Win32)
|
||||
endif()
|
||||
if(CMAKE_VS_PLATFORM_TOOLSET)
|
||||
set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
|
||||
|
|
|
@ -98,6 +98,13 @@ cmLocalGenerator *cmGlobalVisualStudio8Generator::CreateLocalGenerator()
|
|||
return lg;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio8Generator::AddPlatformDefinitions(cmMakefile* mf)
|
||||
{
|
||||
cmGlobalVisualStudio71Generator::AddPlatformDefinitions(mf);
|
||||
mf->AddDefinition("CMAKE_VS_PLATFORM_NAME", this->GetPlatformName());
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// ouput standard header for dsw file
|
||||
void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout)
|
||||
|
|
|
@ -38,6 +38,8 @@ public:
|
|||
///! Create a local generator appropriate to this Global Generator
|
||||
virtual cmLocalGenerator *CreateLocalGenerator();
|
||||
|
||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
||||
|
||||
/**
|
||||
* Override Configure and Generate to add the build-system check
|
||||
* target.
|
||||
|
|
Loading…
Reference in New Issue