diff options
author | Arkady Shapkin <arkady.shapkin@gmail.com> | 2018-03-22 18:50:03 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-04-04 17:21:16 (GMT) |
commit | 45bf6f6246a72874c880aa3de13ba957abd50ca6 (patch) | |
tree | 5528336b8b7045041ceb211173c5699871b8e1eb | |
parent | 304f493e570a177795575b5297c4b54bf1b3d2ac (diff) | |
download | CMake-45bf6f6246a72874c880aa3de13ba957abd50ca6.zip CMake-45bf6f6246a72874c880aa3de13ba957abd50ca6.tar.gz CMake-45bf6f6246a72874c880aa3de13ba957abd50ca6.tar.bz2 |
Modules: Use MSVC_TOOLSET_VERSION variable to simplify logic
-rw-r--r-- | Modules/FindBoost.cmake | 33 | ||||
-rw-r--r-- | Modules/FindGTK2.cmake | 10 | ||||
-rw-r--r-- | Modules/FindIce.cmake | 20 | ||||
-rw-r--r-- | Modules/FindwxWidgets.cmake | 14 | ||||
-rw-r--r-- | Modules/InstallRequiredSystemLibraries.cmake | 105 |
5 files changed, 48 insertions, 134 deletions
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index 8d44aee..5b5002a 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -458,20 +458,10 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret) elseif (GHSMULTI) set(_boost_COMPILER "-ghs") elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC") - if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) + if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141) set(_boost_COMPILER "-vc141;-vc140") - elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) - set(_boost_COMPILER "-vc140") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18) - set(_boost_COMPILER "-vc120") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17) - set(_boost_COMPILER "-vc110") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) - set(_boost_COMPILER "-vc100") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15) - set(_boost_COMPILER "-vc90") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14) - set(_boost_COMPILER "-vc80") + elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80) + set(_boost_COMPILER "-vc${MSVC_TOOLSET_VERSION}") elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.10) set(_boost_COMPILER "-vc71") elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13) # Good luck! @@ -1009,21 +999,12 @@ function(_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS component else() set(_arch_suffix 32) endif() - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) + if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141) list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.1) list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-12.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-11.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-10.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-9.0) - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14) - list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-8.0) + elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80) + math(EXPR _toolset_major_version "${MSVC_TOOLSET_VERSION} / 10") + list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-${_toolset_major_version}.0) endif() set(${componentlibvar} ${${componentlibvar}} PARENT_SCOPE) endif() diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake index 8d0da51..15d1230 100644 --- a/Modules/FindGTK2.cmake +++ b/Modules/FindGTK2.cmake @@ -352,13 +352,9 @@ function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version) if(_expand_vc AND MSVC) # Add vc80/vc90/vc100 midfixes - if(MSVC_VERSION EQUAL 1400) - set(_library ${_library}-vc80) - elseif(MSVC_VERSION EQUAL 1500) - set(_library ${_library}-vc90) - elseif(MSVC_VERSION EQUAL 1600) - set(_library ${_library}-vc100) - elseif(MSVC_VERSION EQUAL 1700) + if(MSVC_TOOLSET_VERSION LESS 110) + set(_library ${_library}-vc${MSVC_TOOLSET_VERSION}) + else() # Up to gtkmm-win 2.22.0-2 there are no vc110 libraries but vc100 can be used set(_library ${_library}-vc100) endif() diff --git a/Modules/FindIce.cmake b/Modules/FindIce.cmake index b37f796..df76e5a 100644 --- a/Modules/FindIce.cmake +++ b/Modules/FindIce.cmake @@ -255,21 +255,15 @@ function(_Ice_FIND) unset(vcvers) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) + if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141) set(vcvers "141;140") - elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) - set(vcvers "140") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18) - set(vcvers "120") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17) - set(vcvers "110") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) - set(vcvers "100") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15) - set(vcvers "90") + elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 100) + set(vcvers "${MSVC_TOOLSET_VERSION}") + elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 90) + set(vcvers "${MSVC_TOOLSET_VERSION}") set(vcyear "2008") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14) - set(vcvers "80") + elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80) + set(vcvers "${MSVC_TOOLSET_VERSION}") set(vcyear "2005") else() # Unknown version set(vcvers Unknown) diff --git a/Modules/FindwxWidgets.cmake b/Modules/FindwxWidgets.cmake index 202d481..caff4db 100644 --- a/Modules/FindwxWidgets.cmake +++ b/Modules/FindwxWidgets.cmake @@ -498,19 +498,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") set(_WX_TOOL gcc) elseif(MSVC) set(_WX_TOOL vc) - if(NOT MSVC_VERSION LESS 1910) - set(_WX_TOOLVER 141) - elseif(NOT MSVC_VERSION LESS 1900) - set(_WX_TOOLVER 140) - elseif(NOT MSVC_VERSION LESS 1800) - set(_WX_TOOLVER 120) - elseif(NOT MSVC_VERSION LESS 1700) - set(_WX_TOOLVER 110) - elseif(NOT MSVC_VERSION LESS 1600) - set(_WX_TOOLVER 100) - elseif(NOT MSVC_VERSION LESS 1500) - set(_WX_TOOLVER 90) - endif() + set(_WX_TOOLVER ${MSVC_TOOLSET_VERSION}) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(_WX_ARCH _x64) endif() diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake index 797f9e4..50e9361 100644 --- a/Modules/InstallRequiredSystemLibraries.cmake +++ b/Modules/InstallRequiredSystemLibraries.cmake @@ -121,9 +121,7 @@ if(MSVC) ) endif() - if(MSVC_VERSION EQUAL 1400) - set(MSVC_REDIST_NAME VC80) - + if(MSVC_TOOLSET_VERSION EQUAL 80) # Find the runtime library redistribution directory. get_filename_component(msvc_install_dir "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]" ABSOLUTE) @@ -163,9 +161,7 @@ if(MSVC) endif() endif() - if(MSVC_VERSION EQUAL 1500) - set(MSVC_REDIST_NAME VC90) - + if(MSVC_TOOLSET_VERSION EQUAL 90) # Find the runtime library redistribution directory. get_filename_component(msvc_install_dir "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]" ABSOLUTE) @@ -209,34 +205,31 @@ if(MSVC) endif() set(MSVC_REDIST_NAME "") - set(_MSVCRT_DLL_VERSION "") - set(_MSVCRT_IDE_VERSION "") + set(_MSVC_DLL_VERSION "") + set(_MSVC_IDE_VERSION "") if(MSVC_VERSION GREATER_EQUAL 2000) message(WARNING "MSVC ${MSVC_VERSION} not yet supported.") - elseif(MSVC_VERSION GREATER_EQUAL 1911) - set(MSVC_REDIST_NAME VC141) - set(_MSVCRT_DLL_VERSION 140) - set(_MSVCRT_IDE_VERSION 15) - elseif(MSVC_VERSION EQUAL 1910) - set(MSVC_REDIST_NAME VC150) - set(_MSVCRT_DLL_VERSION 140) - set(_MSVCRT_IDE_VERSION 15) - elseif(MSVC_VERSION EQUAL 1900) - set(MSVC_REDIST_NAME VC140) - set(_MSVCRT_DLL_VERSION 140) - set(_MSVCRT_IDE_VERSION 14) - elseif(MSVC_VERSION EQUAL 1800) - set(MSVC_REDIST_NAME VC120) - set(_MSVCRT_DLL_VERSION 120) - set(_MSVCRT_IDE_VERSION 12) - elseif(MSVC_VERSION EQUAL 1700) - set(MSVC_REDIST_NAME VC110) - set(_MSVCRT_DLL_VERSION 110) - set(_MSVCRT_IDE_VERSION 11) - elseif(MSVC_VERSION EQUAL 1600) - set(MSVC_REDIST_NAME VC100) - set(_MSVCRT_DLL_VERSION 100) - set(_MSVCRT_IDE_VERSION 10) + elseif(MSVC_TOOLSET_VERSION) + set(MSVC_REDIST_NAME VC${MSVC_TOOLSET_VERSION}) + if(MSVC_VERSION EQUAL 1910) + # VS2017 named this differently prior to update 3. + set(MSVC_REDIST_NAME VC150) + endif() + + math(EXPR _MSVC_DLL_VERSION "${MSVC_TOOLSET_VERSION} / 10 * 10") + + if(MSVC_TOOLSET_VERSION EQUAL 141) + set(_MSVC_IDE_VERSION 15) + else() + math(EXPR _MSVC_IDE_VERSION "${MSVC_TOOLSET_VERSION} / 10") + endif() + endif() + + set(_MSVCRT_DLL_VERSION "") + set(_MSVCRT_IDE_VERSION "") + if(_MSVC_IDE_VERSION GREATER_EQUAL 10) + set(_MSVCRT_DLL_VERSION "${_MSVC_DLL_VERSION}") + set(_MSVCRT_IDE_VERSION "${_MSVC_IDE_VERSION}") endif() if(_MSVCRT_DLL_VERSION) @@ -433,23 +426,9 @@ if(MSVC) set(_MFC_DLL_VERSION "") set(_MFC_IDE_VERSION "") - if(MSVC_VERSION GREATER_EQUAL 2000) - # Version not yet supported. - elseif(MSVC_VERSION GREATER_EQUAL 1910) - set(_MFC_DLL_VERSION 140) - set(_MFC_IDE_VERSION 15) - elseif(MSVC_VERSION EQUAL 1900) - set(_MFC_DLL_VERSION 140) - set(_MFC_IDE_VERSION 14) - elseif(MSVC_VERSION EQUAL 1800) - set(_MFC_DLL_VERSION 120) - set(_MFC_IDE_VERSION 12) - elseif(MSVC_VERSION EQUAL 1700) - set(_MFC_DLL_VERSION 110) - set(_MFC_IDE_VERSION 11) - elseif(MSVC_VERSION EQUAL 1600) - set(_MFC_DLL_VERSION 100) - set(_MFC_IDE_VERSION 10) + if(_MSVC_IDE_VERSION GREATER_EQUAL 10) + set(_MFC_DLL_VERSION ${_MSVC_DLL_VERSION}) + set(_MFC_IDE_VERSION ${_MSVC_IDE_VERSION}) endif() if(_MFC_DLL_VERSION) @@ -520,32 +499,8 @@ if(MSVC) # MSVC 8 was the first version with OpenMP # Furthermore, there is no debug version of this if(CMAKE_INSTALL_OPENMP_LIBRARIES AND _IRSL_HAVE_MSVC) - set(_MSOMP_DLL_VERSION "") - set(_MSOMP_IDE_VERSION "") - if(MSVC_VERSION GREATER_EQUAL 2000) - # Version not yet supported. - elseif(MSVC_VERSION GREATER_EQUAL 1910) - set(_MSOMP_DLL_VERSION 140) - set(_MSOMP_IDE_VERSION 15) - elseif(MSVC_VERSION EQUAL 1900) - set(_MSOMP_DLL_VERSION 140) - set(_MSOMP_IDE_VERSION 14) - elseif(MSVC_VERSION EQUAL 1800) - set(_MSOMP_DLL_VERSION 120) - set(_MSOMP_IDE_VERSION 12) - elseif(MSVC_VERSION EQUAL 1700) - set(_MSOMP_DLL_VERSION 110) - set(_MSOMP_IDE_VERSION 11) - elseif(MSVC_VERSION EQUAL 1600) - set(_MSOMP_DLL_VERSION 100) - set(_MSOMP_IDE_VERSION 10) - elseif(MSVC_VERSION EQUAL 1500) - set(_MSOMP_DLL_VERSION 90) - set(_MSOMP_IDE_VERSION 9) - elseif(MSVC_VERSION EQUAL 1400) - set(_MSOMP_DLL_VERSION 80) - set(_MSOMP_IDE_VERSION 8) - endif() + set(_MSOMP_DLL_VERSION ${_MSVC_DLL_VERSION}) + set(_MSOMP_IDE_VERSION ${_MSVC_IDE_VERSION}) if(_MSOMP_DLL_VERSION) set(v "${_MSOMP_DLL_VERSION}") |