diff options
author | William R. Dieter <william.r.dieter@intel.com> | 2021-12-09 05:33:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-12-15 20:56:20 (GMT) |
commit | 612c0d49f4042303b2c666ec8ca6d02deea637a4 (patch) | |
tree | 5e57a70f61c5c71204a23948b43e64cb09e0510a | |
parent | b54d61c4a043fb86c6bac558071dcf1db3c6c2ff (diff) | |
download | CMake-612c0d49f4042303b2c666ec8ca6d02deea637a4.zip CMake-612c0d49f4042303b2c666ec8ca6d02deea637a4.tar.gz CMake-612c0d49f4042303b2c666ec8ca6d02deea637a4.tar.bz2 |
VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021
The logic added by commit 7808cbd644 (CMakeDetermineCompilerId: support
Intel DPC++ compiler toolset for VS gen, 2020-12-06, v3.20.0-rc1~330^2)
matches a specific toolset known to be the `icx.exe` compiler, and
assumes all other Intel C++ compilers (that are not DPC++) must be
`icl.exe`.
Since `icx.exe` is officially replacing `icl.exe`, use a regex that
matches the now-fixed set of toolsets known to use `icl.exe`. Any other
Intel C++ compiler will be assumed to be `icx.exe`.
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
-rw-r--r-- | Modules/CMakeDetermineCompilerId.cmake | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake index 30b4aec..e564517 100644 --- a/Modules/CMakeDetermineCompilerId.cmake +++ b/Modules/CMakeDetermineCompilerId.cmake @@ -319,15 +319,13 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS} set(id_cl "$(CLToolExe)") elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*") set(id_cl clang.exe) - # Executable names have been chosen according documentation - # URL: (https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-dpcpp-compiler/top.html#top_GUID-A9B4C91D-97AC-450D-9742-9D895BC8AEE1) elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "Intel") if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "DPC\\+\\+ Compiler") set(id_cl dpcpp.exe) - elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "C\\+\\+ Compiler 2021") - set(id_cl icx.exe) - elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "C\\+\\+ Compiler") + elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "C\\+\\+ Compiler ([8-9]\\.|1[0-9]\\.|XE)") set(id_cl icl.exe) + elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "C\\+\\+ Compiler") + set(id_cl icx.exe) endif() else() set(id_cl cl.exe) |