diff options
author | James Butler <jbutler@sonovol.com> | 2019-07-20 17:27:50 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-07-22 10:06:45 -0400 |
commit | 13c3ec545bf6dbea3fa5e58e200471717f11c0ce (patch) | |
tree | 5b10791c7db9e1ebba0c7bfae3fb1c8fbf33c8d2 | |
parent | 0484165da017395f800d112c106cc74facca77f4 (diff) | |
download | cmake-13c3ec545bf6dbea3fa5e58e200471717f11c0ce.tar.gz |
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
-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 fb2f1e9a54..e3eeea46ce 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 |