diff options
author | Saturneric <[email protected]> | 2023-02-11 12:11:48 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2023-02-11 12:11:48 +0000 |
commit | acbfa345cfbd515a81244440f73e622a2e225942 (patch) | |
tree | 241d4cca6098164b5527906c57b4b78720a8d5cf | |
parent | feat: update ui of gnupg info tab (diff) | |
download | GpgFrontend-acbfa345cfbd515a81244440f73e622a2e225942.tar.gz GpgFrontend-acbfa345cfbd515a81244440f73e622a2e225942.zip |
feat: add an option to build with app sanbox on
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/CMakeLists.txt | 19 |
2 files changed, 15 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f08f440..0c99461b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,6 +63,7 @@ option(GPGFRONTEND_XCODE_TEAM_ID "GpgFrontend Apple Team ID" "NONE") option(GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY "GpgFrontend Signing Certificate" "NONE") option(GPGFRONTEND_XOCDE_APPID "GpgFrontend Apple AppID" "NONE") option(GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID "GpgFrontend ProvisioningProfile UUID" "NONE") +option(GPGFRONTEND_XOCDE_ENABLE_SANDBOX "Enable SandBox For Xcode Build" OFF) # analyse options if (GPGFRONTEND_BUILD_TYPE_TEST_CORE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c7ee84ae..73050cf1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -374,19 +374,28 @@ if (APPLICATION_BUILD) WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} COMMENT "Copying Resources into App Bundle Resource") add_custom_command(TARGET ${AppName} POST_BUILD - COMMAND /bin/cp -rf ${CMAKE_SOURCE_DIR}/resource/lfs/macOS/GnuPG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${AppName}.app/Contents/ - WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} - COMMENT "Copying Buddled GnuPG into App Bundle Resource") - add_custom_command(TARGET ${AppName} POST_BUILD COMMAND macdeployqt ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${AppName}.app WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} COMMENT "Resolving Qt Dependency") + + # option for sandbox mode, still under test + if(GPGFRONTEND_XOCDE_ENABLE_SANDBOX) + set(CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX "Yes") + add_custom_command(TARGET ${AppName} POST_BUILD + COMMAND /bin/cp -rf ${CMAKE_SOURCE_DIR}/resource/lfs/macOS/GnuPG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${AppName}.app/Contents/ + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMENT "Copying Buddled GnuPG into App Bundle Resource") + else() + set(CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX "No") + endif() + set_target_properties(${AppName} PROPERTIES XCODE_ATTRIBUTE_INSTALL_PATH "$(LOCAL_APPS_DIR)" XCODE_ATTRIBUTE_SKIP_INSTALL "No" XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "--deep --entitlements ${CMAKE_SOURCE_DIR}/resource/plist/entitlement.plist" - XCODE_ATTRIBUTE_ENABLE_APP_SANDBOX "No" + XCODE_ATTRIBUTE_ENABLE_APP_SANDBOX "${CUSTOM_ATTRIBUTE_ENABLE_APP_SANDBOX}" XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME "Yes" + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/GpgFrontend.entitlements" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}" ) else () |