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.
|
# 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_version ${CMAKE_MATCH_1})
|
||||||
set(vs_arch ${CMAKE_MATCH_4})
|
set(id_arch ${CMAKE_VS_PLATFORM_NAME})
|
||||||
set(id_lang "${lang}")
|
set(id_lang "${lang}")
|
||||||
set(id_cl cl.exe)
|
set(id_cl cl.exe)
|
||||||
|
if(NOT id_arch)
|
||||||
|
set(id_arch Win32)
|
||||||
|
endif()
|
||||||
if(NOT "${vs_version}" VERSION_LESS 10)
|
if(NOT "${vs_version}" VERSION_LESS 10)
|
||||||
set(v 10)
|
set(v 10)
|
||||||
set(ext vcxproj)
|
set(ext vcxproj)
|
||||||
|
@ -123,16 +126,14 @@ Id flags: ${testflags}
|
||||||
set(v 6)
|
set(v 6)
|
||||||
set(ext dsp)
|
set(ext dsp)
|
||||||
endif()
|
endif()
|
||||||
if("${vs_arch}" STREQUAL "Win64")
|
if("${id_arch}" STREQUAL "x64")
|
||||||
set(id_machine_10 MachineX64)
|
set(id_machine_10 MachineX64)
|
||||||
set(id_arch x64)
|
elseif("${id_arch}" STREQUAL "Itanium")
|
||||||
elseif("${vs_arch}" STREQUAL "IA64")
|
|
||||||
set(id_machine_10 MachineIA64)
|
set(id_machine_10 MachineIA64)
|
||||||
set(id_arch ia64)
|
set(id_arch ia64)
|
||||||
else()
|
else()
|
||||||
set(id_machine_6 x86)
|
set(id_machine_6 x86)
|
||||||
set(id_machine_10 MachineX86)
|
set(id_machine_10 MachineX86)
|
||||||
set(id_arch Win32)
|
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_VS_PLATFORM_TOOLSET)
|
if(CMAKE_VS_PLATFORM_TOOLSET)
|
||||||
set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
|
set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
|
||||||
|
|
|
@ -98,6 +98,13 @@ cmLocalGenerator *cmGlobalVisualStudio8Generator::CreateLocalGenerator()
|
||||||
return lg;
|
return lg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmGlobalVisualStudio8Generator::AddPlatformDefinitions(cmMakefile* mf)
|
||||||
|
{
|
||||||
|
cmGlobalVisualStudio71Generator::AddPlatformDefinitions(mf);
|
||||||
|
mf->AddDefinition("CMAKE_VS_PLATFORM_NAME", this->GetPlatformName());
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// ouput standard header for dsw file
|
// ouput standard header for dsw file
|
||||||
void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout)
|
void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout)
|
||||||
|
|
|
@ -38,6 +38,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 AddPlatformDefinitions(cmMakefile* mf);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override Configure and Generate to add the build-system check
|
* Override Configure and Generate to add the build-system check
|
||||||
* target.
|
* target.
|
||||||
|
|
Loading…
Reference in New Issue