diff options
author | Brad King <brad.king@kitware.com> | 2017-05-22 18:52:57 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-05-22 18:52:57 (GMT) |
commit | 67a7e090f801bafd2b3a4933104890ee7b299cbd (patch) | |
tree | e6388134b9e81678e263c06df3a1beb1e113743f | |
parent | 1558f30cead409181b6950433b6adfa7d64871e2 (diff) | |
parent | abe8a623d99d2073c078e8cc94a9074c249b4d36 (diff) | |
download | CMake-67a7e090f801bafd2b3a4933104890ee7b299cbd.zip CMake-67a7e090f801bafd2b3a4933104890ee7b299cbd.tar.gz CMake-67a7e090f801bafd2b3a4933104890ee7b299cbd.tar.bz2 |
Merge branch 'vs15-GNUtoMS' into release
-rw-r--r-- | Modules/Platform/Windows-GNU.cmake | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake index 50477a4..cfb325b 100644 --- a/Modules/Platform/Windows-GNU.cmake +++ b/Modules/Platform/Windows-GNU.cmake @@ -144,10 +144,23 @@ macro(__windows_compiler_gnu_abi lang) if(CMAKE_GNUtoMS AND NOT CMAKE_GNUtoMS_LIB) # Find MS development environment setup script for this architecture. + # We need to use the MS Librarian tool (lib.exe). + # Find the most recent version available. + + # Query the VS Installer tool for locations of VS 2017 and above. + set(_vs_installer_paths "") + foreach(vs RANGE 15 15 -1) # change the first number to the largest supported version + cmake_host_system_information(RESULT _vs_dir QUERY VS_${vs}_DIR) + if(_vs_dir) + list(APPEND _vs_installer_paths "${_vs_dir}/VC/Auxiliary/Build") + endif() + endforeach(vs) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL 4) find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars32.bat DOC "Visual Studio vcvars32.bat" PATHS + ${_vs_installer_paths} "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\Setup\\VC;ProductDir]/bin" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin" @@ -162,6 +175,7 @@ macro(__windows_compiler_gnu_abi lang) find_program(CMAKE_GNUtoMS_VCVARS NAMES vcvars64.bat vcvarsamd64.bat DOC "Visual Studio vcvarsamd64.bat" PATHS + ${_vs_installer_paths} "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\Setup\\VC;ProductDir]/bin/amd64" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VC;ProductDir]/bin/amd64" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VC;ProductDir]/bin/amd64" @@ -171,6 +185,7 @@ macro(__windows_compiler_gnu_abi lang) ) set(CMAKE_GNUtoMS_ARCH amd64) endif() + unset(_vs_installer_paths) set_property(CACHE CMAKE_GNUtoMS_VCVARS PROPERTY ADVANCED 1) if(CMAKE_GNUtoMS_VCVARS) # Create helper script to run lib.exe from MS environment. |