diff --git a/CHANGELOG.md b/CHANGELOG.md index ca800a6c8..2f94220fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ ### For distributors and developers - fish source tarballs are now distributed using the XZ compression method (#5460). +- Allow finishing builds on OS X <10.13.6 (previously builds would fail at the `codesign` step) --- diff --git a/cmake/Mac.cmake b/cmake/Mac.cmake index 2532697e0..abdc51626 100644 --- a/cmake/Mac.cmake +++ b/cmake/Mac.cmake @@ -9,16 +9,27 @@ set(MAC_INJECT_GET_TASK_ALLOW ON CACHE BOOL "Inject get-task-allow on Mac") function(CODESIGN_ON_MAC target) if(APPLE) + execute_process(COMMAND sw_vers "-productVersion" OUTPUT_VARIABLE OSX_VERSION) if(MAC_INJECT_GET_TASK_ALLOW) set(ENTITLEMENTS "--entitlements" "${CMAKE_SOURCE_DIR}/osx/fish_debug.entitlements") else() set(ENTITLEMENTS "") endif(MAC_INJECT_GET_TASK_ALLOW) - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND codesign --force --deep --options runtime ${ENTITLEMENTS} --sign "${MAC_CODESIGN_ID}" $ - VERBATIM - ) + if(OSX_VERSION VERSION_LESS "10.13.6") + # `-options runtime` is only available in OS X from 10.13.6 and up + add_custom_command( + TARGET ${target} + POST_BUILD + COMMAND codesign --force --deep ${ENTITLEMENTS} --sign "${MAC_CODESIGN_ID}" $ + VERBATIM + ) + else() + add_custom_command( + TARGET ${target} + POST_BUILD + COMMAND codesign --force --deep --options runtime ${ENTITLEMENTS} --sign "${MAC_CODESIGN_ID}" $ + VERBATIM + ) + endif() endif() endfunction(CODESIGN_ON_MAC target)