File size: 1,814 Bytes
90f0b29 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
include(CMakeDetermineVSServicePack)
# The code is almost identical to the CMake version. The only difference is that we remove
# _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)
_DetermineVSServicePack_CheckVersionWithTryRun(DETERMINED_VS_SERVICE_PACK _cl_version)
endif()
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")
else()
set(_sp ${CMAKE_CXX_COMPILER_VERSION})
endif()
endif()
if(_sp)
set(${_pack} ${_sp} CACHE INTERNAL
"The Visual Studio Release with Service Pack")
endif()
endif()
endif()
endif()
endfunction()
|