From 28d5cd481bd0f1778b6c536bd4f93db437ee0686 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 24 Sep 2023 01:50:58 +0200 Subject: [PATCH] Add macOS code-signing --- .github/workflows/build.yml | 10 ++-------- cmake/Dmg.cmake | 17 +++++++++++------ 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66f8d6e0..270b74c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -820,14 +820,14 @@ jobs: -S . -B build -DCMAKE_BUILD_TYPE="${{env.cmake_buildtype}}" + -DCMAKE_PREFIX_PATH="${{env.prefix_path}}/lib/cmake" -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF -DUSE_BUNDLE=ON - -DCMAKE_PREFIX_PATH="${{env.prefix_path}}/lib/cmake" -DENABLE_DBUS=OFF - -DPROTOBUF_INCLUDE_DIRS="${{env.prefix_path}}/include" -DICU_ROOT="${{env.prefix_path}}" -DFFTW3_DIR="${{env.prefix_path}}" + -DCREATEDMG_SKIP_JENKINS=$(test "${{matrix.runner}}" = "macos-11" && echo "ON" || echo "OFF") - name: Build run: cmake --build build --config Release --parallel 4 @@ -855,15 +855,9 @@ jobs: run: make deploycheck - name: Create DMG - if: matrix.runner != 'macos-arm64' working-directory: build run: make dmg - - name: Create DMG - if: matrix.runner == 'macos-arm64' - working-directory: build - run: make dmg2 - - name: SSH key setup if: matrix.runner == 'macos-11' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/ci' || github.ref == 'refs/heads/macos') uses: shimataro/ssh-key-action@v2 diff --git a/cmake/Dmg.cmake b/cmake/Dmg.cmake index abee56a1..96a2f148 100644 --- a/cmake/Dmg.cmake +++ b/cmake/Dmg.cmake @@ -13,12 +13,21 @@ else() endif() if(MACDEPLOYQT_EXECUTABLE) + + if(APPLE_DEVELOPER_ID) + set(MACDEPLOYQT_CODESIGN -codesign=${APPLE_DEVELOPER_ID}) + set(CREATEDMG_CODESIGN --codesign ${APPLE_DEVELOPER_ID}) + endif() + if(CREATEDMG_SKIP_JENKINS) + set(CREATEDMG_SKIP_JENKINS_ARG "--skip-jenkins") + endif() + add_custom_target(deploy COMMAND mkdir -p ${CMAKE_BINARY_DIR}/strawberry.app/Contents/{Frameworks,Resources} COMMAND cp -v ${CMAKE_SOURCE_DIR}/dist/macos/Info.plist ${CMAKE_BINARY_DIR}/strawberry.app/Contents/ COMMAND cp -v ${CMAKE_SOURCE_DIR}/dist/macos/strawberry.icns ${CMAKE_BINARY_DIR}/strawberry.app/Contents/Resources/ COMMAND ${CMAKE_SOURCE_DIR}/dist/macos/macgstcopy.sh ${CMAKE_BINARY_DIR}/strawberry.app - COMMAND ${MACDEPLOYQT_EXECUTABLE} strawberry.app -verbose=3 -executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/strawberry-tagreader -executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/gst-plugin-scanner -executable=strawberry.app/Contents/PlugIns/gio-modules/libgioopenssl.so -executable=strawberry.app/Contents/PlugIns/gio-modules/libgiognutls.so + COMMAND ${MACDEPLOYQT_EXECUTABLE} strawberry.app -verbose=3 -executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/strawberry-tagreader -executable=${CMAKE_BINARY_DIR}/strawberry.app/Contents/PlugIns/gst-plugin-scanner -executable=strawberry.app/Contents/PlugIns/gio-modules/libgioopenssl.so -executable=strawberry.app/Contents/PlugIns/gio-modules/libgiognutls.so ${MACDEPLOYQT_CODESIGN} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} DEPENDS strawberry strawberry-tagreader ) @@ -28,11 +37,7 @@ if(MACDEPLOYQT_EXECUTABLE) ) if(CREATEDMG_EXECUTABLE) add_custom_target(dmg - COMMAND ${CREATEDMG_EXECUTABLE} --volname strawberry --background "${CMAKE_SOURCE_DIR}/dist/macos/dmg_background.png" --app-drop-link 450 218 --icon strawberry.app 150 218 --window-size 600 450 strawberry-${STRAWBERRY_VERSION_PACKAGE}-${CMAKE_HOST_SYSTEM_PROCESSOR}.dmg strawberry.app - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - ) - add_custom_target(dmg2 - COMMAND ${CREATEDMG_EXECUTABLE} --volname strawberry --background "${CMAKE_SOURCE_DIR}/dist/macos/dmg_background.png" --app-drop-link 450 218 --icon strawberry.app 150 218 --window-size 600 450 --skip-jenkins strawberry-${STRAWBERRY_VERSION_PACKAGE}-${CMAKE_HOST_SYSTEM_PROCESSOR}.dmg strawberry.app + COMMAND ${CREATEDMG_EXECUTABLE} --volname strawberry --background "${CMAKE_SOURCE_DIR}/dist/macos/dmg_background.png" --app-drop-link 450 218 --icon strawberry.app 150 218 --window-size 600 450 ${CREATEDMG_CODESIGN} ${CREATEDMG_SKIP_JENKINS_ARG} strawberry-${STRAWBERRY_VERSION_PACKAGE}-${CMAKE_HOST_SYSTEM_PROCESSOR}.dmg strawberry.app WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endif()