I currently sign my macOS apps using macdeployqt:
if(NOT LINUX)
set (deploy_tool_options_arg "-verbose=1")
if(APPLE)
set(deploy_tool_options_arg "${deploy_tool_options_arg} -hardened-runtime -timestamp -no-strip")
set(deploy_tool_options_arg "${deploy_tool_options_arg} \"-executable=$<TARGET_BUNDLE_CONTENT_DIR:DeepSkyStacker>/MacOS/DeepSkyStackerCL\"")
set(deploy_tool_options_arg "${deploy_tool_options_arg} \"-executable=$<TARGET_BUNDLE_CONTENT_DIR:DeepSkyStacker>/MacOS/uchmviewer\"")
set(deploy_tool_options_arg "${deploy_tool_options_arg} \"-codesign=Developer ID Application: David Partridge (VH8AYT3C7Y)\"")
elseif(WIN32)
set(deploy_tool_options_arg "${deploy_tool_options_arg} --compiler-runtime --pdb")
set(deploy_tool_options_arg "${deploy_tool_options_arg} --dir . --plugindir plugins")
endif()
# Generate a deployment script to be executed at install time
# App bundles on macOS have an .app suffix
if(APPLE)
set(executable_path "${CMAKE_CURRENT_BINARY_DIR}/$<TARGET_FILE_NAME:DeepSkyStacker>.app")
else()
message ("Target filename:" $<TARGET_FILE_NAME:DeepSkyStacker>)
set(executable_path "${CMAKE_CURRENT_BINARY_DIR}/$<TARGET_FILE_NAME:DeepSkyStacker>")
endif()
message ("executable_path: " ${executable_path})
message ("deploy tools options arg: " ${deploy_tool_options_arg})
qt_generate_deploy_script(
TARGET DeepSkyStacker
OUTPUT_SCRIPT deploy_script
CONTENT "
qt_deploy_runtime_dependencies(
EXECUTABLE \"${executable_path}\"
DEPLOY_TOOL_OPTIONS ${deploy_tool_options_arg}
)"
)
else()
qt_generate_deploy_app_script(
TARGET ${PROJECT_NAME}
OUTPUT_SCRIPT deploy_script
DEPLOY_TOOL_OPTIONS ${deploy_tool_options_arg}
)
endif()
install (SCRIPT ${deploy_script})
install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION .)
but that still leaves the essential steps of running notarytool and staple to create a distributable app.
How best to incorporate code to achieve that please?
Thanks
David