summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-05-22 14:52:57 -0400
committerBrad King <brad.king@kitware.com>2017-05-22 14:52:57 -0400
commit67a7e090f801bafd2b3a4933104890ee7b299cbd (patch)
treee6388134b9e81678e263c06df3a1beb1e113743f
parent1558f30cead409181b6950433b6adfa7d64871e2 (diff)
parentabe8a623d99d2073c078e8cc94a9074c249b4d36 (diff)
downloadcmake-67a7e090f801bafd2b3a4933104890ee7b299cbd.tar.gz
Merge branch 'vs15-GNUtoMS' into release
-rw-r--r--Modules/Platform/Windows-GNU.cmake15
1 files changed, 15 insertions, 0 deletions
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 50477a4b1e..cfb325b9d8 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.