Build changes for new crash-reporting system.
This commit is contained in:
parent
00fd5fbaec
commit
2500534b1e
6 changed files with 51 additions and 2 deletions
|
@ -76,7 +76,7 @@ include(GNUInstallDirs)
|
||||||
# System detection/default settings
|
# System detection/default settings
|
||||||
include( DetectDistro )
|
include( DetectDistro )
|
||||||
include( DetectBrowser )
|
include( DetectBrowser )
|
||||||
|
include( ExportDebugSymbols )
|
||||||
set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")
|
set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")
|
||||||
set(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows")
|
set(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows")
|
||||||
set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows")
|
set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "add a postfix, usually empty on windows")
|
||||||
|
@ -306,6 +306,13 @@ find_package(OpenSceneGraph 3.2.0 REQUIRED
|
||||||
osgGA
|
osgGA
|
||||||
)
|
)
|
||||||
|
|
||||||
|
find_package(sentry)
|
||||||
|
|
||||||
|
if (TARGET sentry::sentry)
|
||||||
|
message(STATUS "Sentry.io crash reporting enabled")
|
||||||
|
set(HAVE_SENTRY 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
find_package(CrashRpt)
|
find_package(CrashRpt)
|
||||||
if (CRASHRPT_FOUND)
|
if (CRASHRPT_FOUND)
|
||||||
|
|
|
@ -48,6 +48,9 @@ if (MSVC AND MSVC_3RDPARTY_ROOT)
|
||||||
set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/lib )
|
set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/lib )
|
||||||
set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/include)
|
set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/include)
|
||||||
|
|
||||||
|
# ensure 3rdparty/lib/cmake is searched
|
||||||
|
list(APPEND CMAKE_PREFIX_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR})
|
||||||
|
|
||||||
if(NOT BOOST_INCLUDEDIR)
|
if(NOT BOOST_INCLUDEDIR)
|
||||||
# if this variable was not set by the user, set it to 3rdparty root's
|
# if this variable was not set by the user, set it to 3rdparty root's
|
||||||
# parent dir, which is the normal location for people using our
|
# parent dir, which is the normal location for people using our
|
||||||
|
|
22
CMakeModules/ExportDebugSymbols.cmake
Normal file
22
CMakeModules/ExportDebugSymbols.cmake
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
|
||||||
|
# placehodler target for other ones to depend upon
|
||||||
|
add_custom_target(
|
||||||
|
debug_symbols
|
||||||
|
)
|
||||||
|
|
||||||
|
function(export_debug_symbols target)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
add_custom_target(${target}.dSYM
|
||||||
|
COMMENT "Generating dSYM files for ${target}"
|
||||||
|
COMMAND dsymutil --out=${target}.dSYM $<TARGET_FILE:${target}>
|
||||||
|
DEPENDS $<TARGET_FILE:${target}>
|
||||||
|
)
|
||||||
|
|
||||||
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${target}.dSYM DESTINATION symbols OPTIONAL)
|
||||||
|
|
||||||
|
add_dependencies(debug_symbols ${target}.dSYM)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endfunction()
|
|
@ -7,7 +7,7 @@ function(setup_fgfs_bundle target)
|
||||||
# in our local CMakeModules dir
|
# in our local CMakeModules dir
|
||||||
set_target_properties(${target} PROPERTIES
|
set_target_properties(${target} PROPERTIES
|
||||||
MACOSX_BUNDLE_INFO_PLIST FlightGearBundleInfo.plist.in
|
MACOSX_BUNDLE_INFO_PLIST FlightGearBundleInfo.plist.in
|
||||||
MACOSX_BUNDLE_GUI_IDENTIFIER "org.flightgear.FlightGear"
|
MACOSX_BUNDLE_GUI_IDENTIFIER "org.flightgear.mac-nightly"
|
||||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${FLIGHTGEAR_VERSION}
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${FLIGHTGEAR_VERSION}
|
||||||
MACOSX_BUNDLE_LONG_VERSION_STRING "FlightGear ${FLIGHTGEAR_VERSION} Nightly"
|
MACOSX_BUNDLE_LONG_VERSION_STRING "FlightGear ${FLIGHTGEAR_VERSION} Nightly"
|
||||||
MACOSX_BUNDLE_BUNDLE_VERSION ${FLIGHTGEAR_VERSION}
|
MACOSX_BUNDLE_BUNDLE_VERSION ${FLIGHTGEAR_VERSION}
|
||||||
|
|
|
@ -70,3 +70,5 @@
|
||||||
#cmakedefine ENABLE_COMPOSITOR
|
#cmakedefine ENABLE_COMPOSITOR
|
||||||
|
|
||||||
#cmakedefine ENABLE_SWIFT
|
#cmakedefine ENABLE_SWIFT
|
||||||
|
|
||||||
|
#cmakedefine HAVE_SENTRY
|
||||||
|
|
|
@ -101,6 +101,7 @@ endif()
|
||||||
|
|
||||||
# Set up the target links.
|
# Set up the target links.
|
||||||
setup_fgfs_libraries(fgfs)
|
setup_fgfs_libraries(fgfs)
|
||||||
|
export_debug_symbols(fgfs)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
install(TARGETS fgfs BUNDLE DESTINATION .)
|
install(TARGETS fgfs BUNDLE DESTINATION .)
|
||||||
|
@ -108,6 +109,20 @@ else()
|
||||||
install(TARGETS fgfs RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(TARGETS fgfs RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (TARGET sentry::sentry)
|
||||||
|
target_link_libraries(fgfs sentry::sentry)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (TARGET sentry::crashpad)
|
||||||
|
if (APPLE)
|
||||||
|
# install inside the bundle
|
||||||
|
install(FILES $<TARGET_FILE:sentry::crashpad_handler> DESTINATION fgfs.app/Contents/MacOS OPTIONAL)
|
||||||
|
else()
|
||||||
|
# install in the bin-dir, next to the application binary
|
||||||
|
install(FILES $<TARGET_FILE:sentry::crashpad_handler> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_METAR)
|
if(ENABLE_METAR)
|
||||||
add_executable(metar metar_main.cxx)
|
add_executable(metar metar_main.cxx)
|
||||||
target_link_libraries(metar
|
target_link_libraries(metar
|
||||||
|
|
Loading…
Reference in a new issue