Added build name support for VC11 and its service packs.

This commit is contained in:
Hauke Heibel 2013-08-01 16:38:05 +02:00
parent 222eedf5f3
commit cf884a9815
2 changed files with 23 additions and 11 deletions

View File

@ -4,7 +4,6 @@ include(CMakeDetermineVSServicePack)
# _DetermineVSServicePack_FastCheckVersionWithCompiler which lead to errors on some systems.
function(EigenDetermineVSServicePack _pack)
if(NOT DETERMINED_VS_SERVICE_PACK OR NOT ${_pack})
if(NOT DETERMINED_VS_SERVICE_PACK)
_DetermineVSServicePack_CheckVersionWithTryCompile(DETERMINED_VS_SERVICE_PACK _cl_version)
if(NOT DETERMINED_VS_SERVICE_PACK)
@ -13,10 +12,23 @@ function(EigenDetermineVSServicePack _pack)
endif()
if(DETERMINED_VS_SERVICE_PACK)
if(_cl_version)
# Call helper function to determine VS version
_DetermineVSServicePackFromCompiler(_sp "${_cl_version}")
# temporary fix, until CMake catches up
if (NOT _sp)
if(${_cl_version} VERSION_EQUAL "17.00.50727.1")
set(_sp "vc110")
elseif(${_cl_version} VERSION_EQUAL "17.00.51106.1")
set(_sp "vc110sp1")
elseif(${_cl_version} VERSION_EQUAL "17.00.60315.1")
set(_sp "vc110sp2")
elseif(${_cl_version} VERSION_EQUAL "17.00.60610.1")
set(_sp "vc110sp3")
endif()
endif()
if(_sp)
set(${_pack} ${_sp} CACHE INTERNAL
"The Visual Studio Release with Service Pack")

View File

@ -306,17 +306,17 @@ macro(ei_set_sitename)
endmacro(ei_set_sitename)
macro(ei_get_compilerver VAR)
if(MSVC)
# on windows system, we use a modified CMake script
include(EigenDetermineVSServicePack)
EigenDetermineVSServicePack( my_service_pack )
if(MSVC)
# on windows system, we use a modified CMake script
include(EigenDetermineVSServicePack)
EigenDetermineVSServicePack( my_service_pack )
if( my_service_pack )
set(${VAR} ${my_service_pack})
if( my_service_pack )
set(${VAR} ${my_service_pack})
else()
set(${VAR} "na")
endif()
else()
set(${VAR} "na")
endif()
else()
# on all other system we rely on ${CMAKE_CXX_COMPILER}
# supporting a "--version" flag