mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 03:39:43 -06:00
BinUtils: Avoid llvm-strip on Apple platforms
Since commitcf82300a63(BinUtils: Clarify search logic and make it more consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we prefer `llvm-strip` over `strip` when using Clang. However, `llvm-strip` seems to produce unusable binaries in cases involving chained fixups. Prefer Apple's `strip` over `llvm-strip` on `APPLE` platforms. We still need to consider `llvm-strip` as a fallback as explained for `llvm-ar` by commitfee36b7a78(BinUtils: Restore llvm-ar fallback on Apple platforms, 2022-03-15, v3.23.0-rc4~12^2). Issue: #24601
This commit is contained in:
@@ -186,7 +186,15 @@ else()
|
||||
list(PREPEND _CMAKE_RANLIB_NAMES "llvm-ranlib")
|
||||
if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}" VERSION_GREATER_EQUAL 11)
|
||||
# llvm-strip versions prior to 11 require additional flags we do not yet add.
|
||||
list(PREPEND _CMAKE_STRIP_NAMES "llvm-strip")
|
||||
if(APPLE)
|
||||
# llvm-strip does not seem to support chained fixup format correctly.
|
||||
# FIXME(#23333): We still need to consider 'llvm-strip' as a fallback
|
||||
# because the 'APPLE' definition may be based on the host in this context,
|
||||
# and a cross-compiling toolchain may not have 'strip'.
|
||||
list(APPEND _CMAKE_STRIP_NAMES "llvm-strip")
|
||||
else()
|
||||
list(PREPEND _CMAKE_STRIP_NAMES "llvm-strip")
|
||||
endif()
|
||||
endif()
|
||||
list(PREPEND _CMAKE_NM_NAMES "llvm-nm")
|
||||
if("${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}" VERSION_GREATER_EQUAL 9)
|
||||
|
||||
Reference in New Issue
Block a user