From ce14e1c2aa5b0530eda1541bb771f9cba2478a76 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Mon, 13 Jun 2022 03:55:12 -0400 Subject: [PATCH] ci: macOS bundle fixes --- CMakeLists.txt | 16 +++++++++------- Runtime/CMain.cpp | 5 ++--- ci/build-dmg.sh | 6 ++---- ci/upload-debug-macos.sh | 4 ++-- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93b3c728e..ac9ac626d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -373,25 +373,27 @@ configure_file(${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_BINARY_DIR}/version.h) # Packaging logic list(APPEND BINARY_TARGETS metaforce) -set(DSYM_ONLY_TARGETS "") +set(EXTRA_TARGETS "") if (TARGET crashpad_handler) - list(APPEND BINARY_TARGETS crashpad_handler) + list(APPEND EXTRA_TARGETS crashpad_handler) endif () set(BIN_PREFIX "${CMAKE_INSTALL_PREFIX}") -install(TARGETS ${BINARY_TARGETS} DESTINATION ${BIN_PREFIX}) +install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${BIN_PREFIX}) if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo) - foreach (target IN LISTS BINARY_TARGETS DSYM_ONLY_TARGETS) + foreach (target IN LISTS BINARY_TARGETS) if (WIN32) install(FILES $ DESTINATION ${BIN_PREFIX} OPTIONAL) elseif (APPLE) - install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND dsymutil ${target})") - install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND strip -S ${target})") + install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND rm -fr \"$.dSYM\")") + install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND dsymutil \"$\")") + install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND strip -S \"$\")") + install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND mv \"$.dSYM\" .)") elseif (UNIX) install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND objcopy --only-keep-debug ${target} ${target}.dbg)") install(CODE "execute_process(WORKING_DIRECTORY \"${BIN_PREFIX}\" COMMAND objcopy --strip-debug --add-gnu-debuglink=${target}.dbg ${target})") endif () endforeach () - set(DEBUG_FILES_LIST ${BINARY_TARGETS} ${DSYM_ONLY_TARGETS}) + set(DEBUG_FILES_LIST ${BINARY_TARGETS}) if (WIN32) list(TRANSFORM DEBUG_FILES_LIST APPEND ".pdb") list(JOIN DEBUG_FILES_LIST " " DEBUG_FILES) diff --git a/Runtime/CMain.cpp b/Runtime/CMain.cpp index 5beff59c5..db081deef 100644 --- a/Runtime/CMain.cpp +++ b/Runtime/CMain.cpp @@ -513,8 +513,7 @@ static void SetupBasics() { } #if SENTRY_ENABLED - FileStoreManager fileMgr{"sentry-native-metaforce"}; - std::string cacheDir{fileMgr.getStoreRoot()}; + std::string cacheDir{metaforce::FileStoreManager::instance()->getStoreRoot()}; logvisor::RegisterSentry("metaforce", METAFORCE_WC_DESCRIBE, cacheDir.c_str()); #endif } @@ -543,8 +542,8 @@ int main(int argc, char** argv) { return 100; } - SetupBasics(); metaforce::FileStoreManager fileMgr{"AxioDL", "metaforce"}; + SetupBasics(); std::vector args; for (int i = 1; i < argc; ++i) { diff --git a/ci/build-dmg.sh b/ci/build-dmg.sh index 25079add2..c4acb9e72 100755 --- a/ci/build-dmg.sh +++ b/ci/build-dmg.sh @@ -1,10 +1,8 @@ #!/bin/bash -ex cd build/install -# remove debug files before package -rm -r Metaforce.app/Contents/MacOS/*.dSYM for i in metaforce crashpad_handler; do - codesign --timestamp --options runtime -s "$CODESIGN_IDENT" Metaforce.app/Contents/MacOS/$i + codesign --timestamp --options runtime -s "$CODESIGN_IDENT" metaforce.app/Contents/MacOS/$i done -create-dmg Metaforce.app --identity="$CODESIGN_IDENT" . +create-dmg metaforce.app --identity="$CODESIGN_IDENT" . xcrun altool -t osx -f *.dmg --primary-bundle-id com.axiodl.Metaforce \ --notarize-app -u "$ASC_USERNAME" -p "$ASC_PASSWORD" --team-id "$ASC_TEAM_ID" diff --git a/ci/upload-debug-macos.sh b/ci/upload-debug-macos.sh index 0ee55384c..c66d97f4d 100755 --- a/ci/upload-debug-macos.sh +++ b/ci/upload-debug-macos.sh @@ -1,3 +1,3 @@ #!/bin/bash -ex -cd build/install/Metaforce.app/Contents/MacOS -sentry-cli upload-dif --org axiodl --project metaforce metaforce{,.dSYM} --include-sources +cd build/install +sentry-cli upload-dif --org axiodl --project metaforce metaforce.app/Contents/MacOS/metaforce metaforce.dSYM --include-sources