From ece9cb8022d1c889bfd02ce52f0dd470460d5a21 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Tue, 6 Aug 2024 18:41:46 -0700 Subject: Build an xcarchive for mac symbol upload. --- build.sh | 4 ++-- indra/llwebrtc/CMakeLists.txt | 2 +- indra/newview/CMakeLists.txt | 40 ++++++++++++++++------------------------ 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/build.sh b/build.sh index e09e6f9f5c..ab78b56515 100755 --- a/build.sh +++ b/build.sh @@ -526,8 +526,8 @@ then # nat 2016-12-22: without RELEASE_CRASH_REPORTING, we have no symbol file. if [ "${RELEASE_CRASH_REPORTING:-}" != "OFF" ] then - # e.g. build-darwin-x86_64/newview/Release/Second Life Test.sym.tar.gz - symbol_file="${build_dir}/newview/${variant}/${viewer_channel}.sym.tar.gz" + # e.g. build-darwin-x86_64/symbols/Release/Second Life Test.xarchive.zip + symbol_file="${build_dir}/symbols/${variant}/${viewer_channel}.xarchive.zip" if [[ ! -f "$symbol_file" ]] then # symbol tarball we prep for (e.g.) Breakpad diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt index a8d23b461a..e7c7248b0c 100644 --- a/indra/llwebrtc/CMakeLists.txt +++ b/indra/llwebrtc/CMakeLists.txt @@ -42,7 +42,7 @@ if (WINDOWS) elseif (DARWIN) target_link_libraries(llwebrtc PRIVATE ll::webrtc) set_target_properties(llwebrtc PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym" - XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}") + XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}/${VIEWER_CHANNEL}/dSYMs") elseif (LINUX) target_link_libraries(llwebrtc PRIVATE ll::webrtc) endif (WINDOWS) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8ff96f0f3b..000f2e2684 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2085,8 +2085,8 @@ if (DARWIN) set(VIEWER_APP_BUNDLE "${CMAKE_CURRENT_BINARY_DIR}/$,$,>/${product}.app") set(VIEWER_APP_EXE "${VIEWER_APP_BUNDLE}/Contents/MacOS/${product}") - set(VIEWER_APP_DSYM "${VIEWER_APP_EXE}.dSYM") set(VIEWER_APP_SYMBOLS_ARCHIVE "${VIEWER_APP_BUNDLE}/../${product}.sym.tar.gz") + set(VIEWER_APP_XCARCHIVE "${SYMBOLS_STAGING_DIR}/${VIEWER_CHANNEL}.xcarchive.zip") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/Info-SecondLife.plist" @@ -2191,32 +2191,24 @@ if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIE add_dependencies(generate_symbols ${VIEWER_BINARY_NAME}) endif (WINDOWS) if (DARWIN) - set_target_properties(${VIEWER_BINARY_NAME} + # we only need an xcarchive with dSYMs (including the application) + set_target_properties(${VIEWER_BINARY_NAME} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym" - XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}") - add_custom_command(OUTPUT "${VIEWER_APP_SYMBOLS_ARCHIVE}" - COMMAND "tar" - ARGS - "-cJf" - "${VIEWER_APP_SYMBOLS_ARCHIVE}" - "-C" - "${SYMBOLS_STAGING_DIR}" - "." - DEPENDS "${VIEWER_BINARY_NAME}" - COMMENT "Generating symbols archive for upload to BugSplat" - ) - # Have to create a stamp file, and depend on it, to force CMake to run - # the cleanup step. - add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/dsym.stamp" - COMMAND rm -rf "${VIEWER_APP_DSYM}" - COMMAND touch "${CMAKE_CURRENT_BINARY_DIR}/dsym.stamp" - DEPENDS "${VIEWER_APP_SYMBOLS_ARCHIVE}" - COMMENT "Cleaning up symbols archive" - ) + XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}/${product}/dSYMs") + + add_custom_command(OUTPUT "${VIEWER_APP_XCARCHIVE}" + COMMAND "zip" + ARGS + "-r" + "${VIEWER_APP_XCARCHIVE}" + "${product}" + WORKING_DIRECTORY "${SYMBOLS_STAGING_DIR}" + DEPENDS "${VIEWER_BINARY_NAME}" llwebrtc + COMMENT "Generating ${VIEWER_APP_XCARCHIVE} for upload to BugSplat" + ) add_custom_target(generate_symbols DEPENDS - "${VIEWER_APP_SYMBOLS_ARCHIVE}" - "${CMAKE_CURRENT_BINARY_DIR}/dsym.stamp" + "${VIEWER_APP_XCARCHIVE}" ) endif (DARWIN) if (LINUX) -- cgit v1.2.3