|
|
include(CMakeDetermineVSServicePack) |
|
|
|
|
|
|
|
|
|
|
|
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) |
|
|
|
|
|
_DetermineVSServicePackFromCompiler(_sp "${_cl_version}") |
|
|
|
|
|
|
|
|
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() |
|
|
|