summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-09-25 13:05:54 (GMT)
committerBrad King <brad.king@kitware.com>2024-09-25 13:12:27 (GMT)
commit137a2060bc2109112224d9056ef5865ad0a303d8 (patch)
treebc485afa6c31e12cd795e39e663879cf343c6729 /Modules
parent0acff8e622de3192a47c38643cc0c2022695e852 (diff)
downloadCMake-137a2060bc2109112224d9056ef5865ad0a303d8.zip
CMake-137a2060bc2109112224d9056ef5865ad0a303d8.tar.gz
CMake-137a2060bc2109112224d9056ef5865ad0a303d8.tar.bz2
BinUtils: Prefer llvm-mt over mt when compiling with Clang
The problem motivating commit 73d0d4e4b5 (BinUtils: Avoid llvm-mt because it is missing 'mt' features we use, 2022-03-08, v3.23.0-rc3~7^2) has been fixed in `llvm-mt` since LLVM/Clang 14.0.2. Fixes: #26319 Issue: #23305
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeFindBinUtils.cmake5
1 files changed, 3 insertions, 2 deletions
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index 3bbcb69..dc28f12 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -89,8 +89,9 @@ if(("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC" AND
if("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" MATCHES "^x(Clang|LLVMFlang)$")
set(_CMAKE_NM_NAMES "llvm-nm" "nm")
list(PREPEND _CMAKE_AR_NAMES "llvm-lib")
- # llvm-mt is not ready to be used as a replacement for mt.exe
- # list(PREPEND _CMAKE_MT_NAMES "llvm-mt")
+ if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}" VERSION_GREATER_EQUAL 14.0.2)
+ list(PREPEND _CMAKE_MT_NAMES "llvm-mt")
+ endif()
list(PREPEND _CMAKE_LINKER_NAMES "lld-link")
list(APPEND _CMAKE_TOOL_VARS NM)
elseif("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xIntel")