summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-03-16 10:51:03 -0400
committerBrad King <brad.king@kitware.com>2022-03-16 10:51:03 -0400
commit2db936e59ac444d791ca883e3b94402cbb12e079 (patch)
treea52f065020e6d58419a752ad4317403f23949c10
parent4dd0deca7d88ae3aeb80422bcd695e7165f83902 (diff)
parentfee36b7a784543c3d89e2ef7c531e6892116f237 (diff)
downloadcmake-2db936e59ac444d791ca883e3b94402cbb12e079.tar.gz
Merge branch 'binutils-llvm-ar-apple' into release-3.22
Merge-request: !7077
-rw-r--r--Modules/CMakeFindBinUtils.cmake7
1 files changed, 6 insertions, 1 deletions
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index 16d3106411..a6bd0d192d 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -173,8 +173,13 @@ else()
else()
list(PREPEND _CMAKE_LINKER_NAMES "ld.lld")
endif()
- if(NOT APPLE)
+ if(APPLE)
# llvm-ar does not generate a symbol table that the Apple ld64 linker accepts.
+ # FIXME(#23333): We still need to consider 'llvm-ar' as a fallback because
+ # the 'APPLE' definition may be based on the host in this context, and a
+ # cross-compiling toolchain may not have 'ar'.
+ list(APPEND _CMAKE_AR_NAMES "llvm-ar")
+ else()
list(PREPEND _CMAKE_AR_NAMES "llvm-ar")
endif()
list(PREPEND _CMAKE_RANLIB_NAMES "llvm-ranlib")