mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 12:49:50 -05:00
Tests: Fix failures on macOS arm64 due to Xcode 15 skipping ad-hoc signature
Update commit 1c15eb39d2 (Tests: Suppress failures on macOS arm64 due to
separate Xcode signing phase, 2021-02-22, v3.20.0-rc2~11^2) for Xcode 15,
which ignores our `-Xlinker -adhoc_codesign` flag, prioritizes its own
`-Xlinker -no_adhoc_codesign` flag, and does not add an ad-hoc signature
at link time.
Issue: #21845
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
function(xcode_sign_adhoc target)
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode" AND
|
||||
"${CMAKE_SYSTEM_NAME};${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "Darwin;arm64")
|
||||
# Xcode runs POST_BUILD before signing, so let the linker use ad-hoc signing.
|
||||
# See CMake Issue 21845.
|
||||
target_link_options(${target} PRIVATE LINKER:-adhoc_codesign)
|
||||
"${CMAKE_SYSTEM_NAME};${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "Darwin;arm64")
|
||||
if(XCODE_VERSION VERSION_GREATER_EQUAL 15)
|
||||
# Xcode 15+ enforces '-Xlinker -no_adhoc_codesign' after user flags,
|
||||
# so we cannot convince the linker to add an adhoc signature.
|
||||
add_custom_command(TARGET ${target} POST_BUILD COMMAND codesign --sign - --force "$<TARGET_FILE:${target}>")
|
||||
else()
|
||||
# Xcode runs POST_BUILD before signing, so let the linker use ad-hoc signing.
|
||||
# See CMake Issue 21845.
|
||||
target_link_options(${target} PRIVATE LINKER:-adhoc_codesign)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -14,8 +14,14 @@ target_link_libraries(LinkObjLHSShared AnObjLib)
|
||||
# Verify that our dependency on OtherLib generated its versioning symlinks.
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode" AND
|
||||
"${CMAKE_SYSTEM_NAME};${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "Darwin;arm64")
|
||||
# Xcode runs POST_BUILD before signing, so let the linker use ad-hoc signing.
|
||||
# See CMake Issue 21845.
|
||||
target_link_options(LinkObjLHSShared PRIVATE LINKER:-adhoc_codesign)
|
||||
if(XCODE_VERSION VERSION_GREATER_EQUAL 15)
|
||||
# Xcode 15+ enforces '-Xlinker -no_adhoc_codesign' after user flags,
|
||||
# so we cannot convince the linker to add an adhoc signature.
|
||||
add_custom_command(TARGET LinkObjLHSShared POST_BUILD COMMAND codesign --sign - --force "$<TARGET_FILE:LinkObjLHSShared>")
|
||||
else()
|
||||
# Xcode runs POST_BUILD before signing, so let the linker use ad-hoc signing.
|
||||
# See CMake Issue 21845.
|
||||
target_link_options(LinkObjLHSShared PRIVATE LINKER:-adhoc_codesign)
|
||||
endif()
|
||||
endif()
|
||||
add_custom_command(TARGET LinkObjLHSShared POST_BUILD COMMAND LinkObjLHSShared)
|
||||
|
||||
Reference in New Issue
Block a user