Build an xcarchive for mac symbol upload.

master
Roxie Linden 2024-08-06 18:41:46 -07:00
parent c52c25e10d
commit ece9cb8022
3 changed files with 19 additions and 27 deletions

View File

@ -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

View File

@ -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)

View File

@ -2085,8 +2085,8 @@ if (DARWIN)
set(VIEWER_APP_BUNDLE "${CMAKE_CURRENT_BINARY_DIR}/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>/${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)