diff --git a/CMakeLists.txt b/CMakeLists.txt index 423f22a2..56f0b71a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,7 @@ function(vpkedit_configure_target TARGET) endif() elseif(APPLE) option(VPKEDIT_MAC_BUNDLE_QT "Bundle Qt into the application bundle for macOS" ON) + option(VPKEDIT_MAC_BUNDLE_ADHOC_SIGN "Ad-hoc sign the macOS application bundle" ON) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macOS") include(MakeICNS) set(MACOS_ICON "${CMAKE_CURRENT_BINARY_DIR}/logo.icns") diff --git a/cmake/macos/SignBundle.cmake b/cmake/macos/SignBundle.cmake new file mode 100644 index 00000000..b571e56a --- /dev/null +++ b/cmake/macos/SignBundle.cmake @@ -0,0 +1 @@ +execute_process(COMMAND codesign --deep -fs - ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/vpkedit.app) diff --git a/install/_install.cmake b/install/_install.cmake index 01fe5a0b..8e643ef9 100644 --- a/install/_install.cmake +++ b/install/_install.cmake @@ -64,7 +64,7 @@ elseif(APPLE) DESTINATION .) install(TARGETS ${PROJECT_NAME}_dmx_preview ${PROJECT_NAME}_mdl_preview - DESTINATION "${PROJECT_NAME_PRETTY}.app/Contents/PlugIns/previews") + DESTINATION "${PROJECT_NAME}.app/Contents/PlugIns/previews") # Deploy Qt into the bundle if(VPKEDIT_MAC_BUNDLE_QT) @@ -73,6 +73,10 @@ elseif(APPLE) OUTPUT_SCRIPT qt_deploy_script) install(SCRIPT ${qt_deploy_script}) endif() + + if(VPKEDIT_MAC_BUNDLE_ADHOC_SIGN) + set(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos/SignBundle.cmake") + endif() elseif(UNIX) install(TARGETS ${PROJECT_NAME}cli DESTINATION "${CMAKE_INSTALL_BINDIR}")