1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- # Copyright (c) Contributors to the Open 3D Engine Project.
- # For complete copyright and license terms please see the LICENSE at the root
- # of this distribution.
- #
- # SPDX-License-Identifier: Apache-2.0 OR MIT
- #
- #
- include(CMakeParseArguments)
- set(CRASHPAD_PACKAGE_NAME Crashpad)
- set(CRASHPAD_LIBS_DIR $${CMAKE_CURRENT_LIST_DIR}/Crashpad/$$<$$<CONFIG:debug>:debug/>lib)
- set(CRASHPAD_INCLUDE_DIR $${CMAKE_CURRENT_LIST_DIR}/Crashpad/include/crashpad)
- # Helper function to define crashpad libraries
- function(ly_declare_crashpad_library)
- set(options HANDLER)
- set(oneValueArgs NAME)
- set(multiValueArgs ADDITIONAL_INCLUDE_DIRS LIBS BUILD_DEPENDENCIES)
- cmake_parse_arguments(ly_declare_crashpad_library "$${options}" "$${oneValueArgs}" "$${multiValueArgs}" $${ARGN})
- if (ly_declare_crashpad_library_HANDLER)
- set(TARGET_WITH_NAMESPACE "3rdParty::$${CRASHPAD_PACKAGE_NAME}::Handler")
- else()
- set(TARGET_WITH_NAMESPACE "3rdParty::$${CRASHPAD_PACKAGE_NAME}")
- endif()
- if (TARGET $${TARGET_WITH_NAMESPACE})
- return()
- endif()
- add_library($${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
- if (ly_declare_crashpad_library_ADDITIONAL_INCLUDE_DIRS)
- ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE}
- INTERFACE
- "$${CRASHPAD_INCLUDE_DIR}"
- "$${CRASHPAD_INCLUDE_DIR}/mini_chromium"
- $${ly_declare_crashpad_library_ADDITIONAL_INCLUDE_DIRS}
- )
- else()
- ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE}
- INTERFACE
- "$${CRASHPAD_INCLUDE_DIR}"
- "$${CRASHPAD_INCLUDE_DIR}/mini_chromium"
- )
- endif()
- if (ly_declare_crashpad_library_BUILD_DEPENDENCIES)
- target_link_libraries($${TARGET_WITH_NAMESPACE}
- INTERFACE
- $${ly_declare_crashpad_library_LIBS}
- $${ly_declare_crashpad_library_BUILD_DEPENDENCIES}
- )
- else()
- target_link_libraries($${TARGET_WITH_NAMESPACE}
- INTERFACE
- $${ly_declare_crashpad_library_LIBS}
- )
- endif()
- endfunction()
- #### Crashpad ####
- ly_declare_crashpad_library(
- LIBS
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}vcpkg_crashpad_base$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}vcpkg_crashpad_client$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}vcpkg_crashpad_client_common$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}vcpkg_crashpad_util$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
- #### Crashpad Handler ####
- ly_declare_crashpad_library(
- HANDLER
- ADDITIONAL_INCLUDE_DIRS
- "$${CRASHPAD_INCLUDE_DIR}/getopt"
- LIBS
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}compat$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}context$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}format$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}minidump$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}getopt$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}handler$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}vcpkg_crashpad_handler_common$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}snapshot$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}tool_support$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}zlib$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- "$${CRASHPAD_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}net$${CMAKE_STATIC_LIBRARY_SUFFIX}"
- BUILD_DEPENDENCIES
- "3rdParty::$${CRASHPAD_PACKAGE_NAME}"
- # Built-in Windows libraries
- winhttp
- version
- powrprof
- )
|