kicad/thirdparty/sentry-native/external/crashpad/tools/CMakeLists.txt

147 lines
4.2 KiB
CMake

add_library(crashpad_tools STATIC
tool_support.cc
tool_support.h
)
target_link_libraries(crashpad_tools PRIVATE
$<BUILD_INTERFACE:crashpad_interface>
)
set_property(TARGET crashpad_tools PROPERTY EXPORT_NAME tools)
add_library(crashpad::tools ALIAS crashpad_tools)
crashpad_install_target(crashpad_tools)
if(CRASHPAD_BUILD_TOOLS)
add_executable(dump_minidump_annotations
dump_minidump_annotations.cc
)
target_link_libraries(dump_minidump_annotations PRIVATE
crashpad_client
crashpad_snapshot
crashpad_util
crashpad_getopt
crashpad_tools
)
if(MSVC)
target_compile_options(dump_minidump_annotations PRIVATE
$<$<COMPILE_LANGUAGE:C,CXX>:/wd4201> # nonstandard extension used : nameless struct/union
)
target_compile_definitions(dump_minidump_annotations PRIVATE
WIN32_LEAN_AND_MEAN
NOMINMAX
)
endif()
crashpad_install_target(dump_minidump_annotations)
add_executable(crashpad_database_util
crashpad_database_util.cc
)
target_link_libraries(crashpad_database_util PRIVATE
crashpad_client
crashpad_compat
crashpad_getopt
crashpad_tools
)
if(MSVC)
target_compile_definitions(crashpad_database_util PRIVATE
WIN32_LEAN_AND_MEAN
NOMINMAX
)
endif()
crashpad_install_target(crashpad_database_util)
add_executable(crashpad_http_upload
crashpad_http_upload.cc
)
target_link_libraries(crashpad_http_upload PRIVATE
crashpad_client
crashpad_compat
crashpad_getopt
crashpad_tools
crashpad_zlib
mini_chromium
)
if(MSVC)
target_compile_definitions(crashpad_http_upload PRIVATE
WIN32_LEAN_AND_MEAN
NOMINMAX
)
endif()
crashpad_install_target(crashpad_http_upload)
add_executable(crashpad_generate_dump
generate_dump.cc
)
target_link_libraries(crashpad_generate_dump PRIVATE
crashpad_getopt
crashpad_minidump
crashpad_snapshot
crashpad_tools
mini_chromium
)
if(MSVC)
target_compile_definitions(crashpad_generate_dump PRIVATE
WIN32_LEAN_AND_MEAN
NOMINMAX
)
endif()
crashpad_install_target(crashpad_generate_dump)
if(APPLE)
function(setup_apple_tool target)
target_link_options(${target} PRIVATE LINKER:-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/mac/sectaskaccess_info.plist)
target_include_directories(${target} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
endfunction()
add_executable(run_with_crashpad
run_with_crashpad.cc
)
setup_apple_tool(run_with_crashpad)
target_link_libraries(run_with_crashpad PRIVATE
crashpad_client
crashpad_compat
crashpad_tools
crashpad_util
mini_chromium
)
crashpad_install_target(run_with_crashpad)
add_executable(catch_exception_tool
mac/catch_exception_tool.cc
)
setup_apple_tool(catch_exception_tool)
target_link_libraries(catch_exception_tool PRIVATE
crashpad_compat
crashpad_tools
crashpad_util
mini_chromium
)
crashpad_install_target(catch_exception_tool)
add_executable(exception_port_tool
mac/exception_port_tool.cc
)
setup_apple_tool(exception_port_tool)
target_link_libraries(exception_port_tool PRIVATE
crashpad_compat
crashpad_tools
crashpad_util
mini_chromium
)
add_executable(on_demand_service_tool
mac/on_demand_service_tool.mm
)
setup_apple_tool(on_demand_service_tool)
target_link_libraries(on_demand_service_tool PRIVATE
"-framework CoreFoundation"
"-framework Foundation"
crashpad_compat
crashpad_tools
crashpad_util
mini_chromium
)
crashpad_install_target(on_demand_service_tool)
endif()
endif()