MSVC: Fix MSVC_VERSION when mixing MSVC C/C++ with Intel Fortran

When using a real MSVC compiler for `C` or `CXX`, use the version of
that compiler for `MSVC_VERSION`.  This is preferred over the MSVC
version that a non-MSVC compiler "simulates".

Fixes: #17468
This commit is contained in:
Brad King 2017-11-15 14:44:02 -05:00
parent 1fe9e49bad
commit 3bc21a70b5

View File

@ -48,7 +48,11 @@ else()
endif()
if(NOT MSVC_VERSION)
if(CMAKE_C_SIMULATE_VERSION)
if("x${CMAKE_C_COMPILER_ID}" STREQUAL "xMSVC")
set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
elseif(CMAKE_C_SIMULATE_VERSION)
set(_compiler_version ${CMAKE_C_SIMULATE_VERSION})
elseif(CMAKE_CXX_SIMULATE_VERSION)
set(_compiler_version ${CMAKE_CXX_SIMULATE_VERSION})