mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-12 07:40:30 -08:00
28 lines
1.4 KiB
CMake
28 lines
1.4 KiB
CMake
# This script re-signs all apps after CPack packages them. This is necessary because CPack modifies
|
|
# the library references used by Cockatrice to App relative paths, invalidating the code signature.
|
|
string(LENGTH $ENV{MACOS_CERTIFICATE_NAME} MACOS_CERTIFICATE_NAME_LEN)
|
|
|
|
if(APPLE AND MACOS_CERTIFICATE_NAME_LEN GREATER 0)
|
|
set(APPLICATIONS "cockatrice" "servatrice" "oracle" "dbconverter")
|
|
foreach(app_name IN LISTS APPLICATIONS)
|
|
set(FULL_APP_PATH "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${app_name}.app")
|
|
|
|
message(STATUS "Signing Interior Dynamically Loaded Libraries for ${app_name}.app")
|
|
execute_process(COMMAND "find" "${FULL_APP_PATH}" "-name" "*.dylib" OUTPUT_VARIABLE INTERIOR_DLLS)
|
|
string(REPLACE "\n" ";" INTERIOR_DLLS_LIST ${INTERIOR_DLLS})
|
|
|
|
foreach(INTERIOR_DLL IN LISTS INTERIOR_DLLS_LIST)
|
|
execute_process(
|
|
COMMAND "codesign" "--sign" "$ENV{MACOS_CERTIFICATE_NAME}" "--entitlements" "../.ci/macos.entitlements"
|
|
"--options" "runtime" "--force" "--deep" "--timestamp" "--verbose" "${INTERIOR_DLL}"
|
|
)
|
|
endforeach()
|
|
|
|
message(STATUS "Signing Exterior Applications ${app_name}.app")
|
|
execute_process(
|
|
COMMAND "codesign" "--sign" "$ENV{MACOS_CERTIFICATE_NAME}" "--entitlements" "../.ci/macos.entitlements"
|
|
"--options" "runtime" "--force" "--deep" "--timestamp" "--verbose" "${FULL_APP_PATH}"
|
|
)
|
|
endforeach()
|
|
endif()
|