diff options
author | James Butler <jbutler@sonovol.com> | 2019-07-20 21:27:50 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-07-22 14:06:45 (GMT) |
commit | 13c3ec545bf6dbea3fa5e58e200471717f11c0ce (patch) | |
tree | 5b10791c7db9e1ebba0c7bfae3fb1c8fbf33c8d2 /Modules/InstallRequiredSystemLibraries.cmake | |
parent | 0484165da017395f800d112c106cc74facca77f4 (diff) | |
download | CMake-13c3ec545bf6dbea3fa5e58e200471717f11c0ce.zip CMake-13c3ec545bf6dbea3fa5e58e200471717f11c0ce.tar.gz CMake-13c3ec545bf6dbea3fa5e58e200471717f11c0ce.tar.bz2 |
IRSL: Fix discovery of VS 2019 v141 toolset redistributables
Since VS 2019, the v141 toolset redistributables can be found in
either the VS 2019 or VS 2017 install directory. Update the logic
to search multiple versions of VS.
Fixes: #19488
Diffstat (limited to 'Modules/InstallRequiredSystemLibraries.cmake')
-rw-r--r-- | Modules/InstallRequiredSystemLibraries.cmake | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake index fb2f1e9..e3eeea4 100644 --- a/Modules/InstallRequiredSystemLibraries.cmake +++ b/Modules/InstallRequiredSystemLibraries.cmake @@ -251,10 +251,18 @@ if(MSVC) endif() if(NOT vs VERSION_LESS 15) set(_vs_redist_paths "") - cmake_host_system_information(RESULT _vs_dir QUERY VS_${vs}_DIR) # undocumented query - if(IS_DIRECTORY "${_vs_dir}") - file(GLOB _vs_redist_paths "${_vs_dir}/VC/Redist/MSVC/*") - endif() + # The toolset and its redistributables may come with any VS version 15 or newer. + set(_MSVC_IDE_VERSIONS 16 15) + foreach(_vs_ver ${_MSVC_IDE_VERSIONS}) + set(_vs_glob_redist_paths "") + cmake_host_system_information(RESULT _vs_dir QUERY VS_${_vs_ver}_DIR) # undocumented query + if(IS_DIRECTORY "${_vs_dir}") + file(GLOB _vs_glob_redist_paths "${_vs_dir}/VC/Redist/MSVC/*") + list(APPEND _vs_redist_paths ${_vs_glob_redist_paths}) + endif() + unset(_vs_glob_redist_paths) + endforeach() + unset(_MSVC_IDE_VERSIONS) unset(_vs_dir) else() get_filename_component(_vs_dir |