CMakeLists.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #
  2. # Copyright (c) Contributors to the Open 3D Engine Project.
  3. # For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. #
  5. # SPDX-License-Identifier: Apache-2.0 OR MIT
  6. #
  7. #
  8. o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${O3DE_ENGINE_RESTRICTED_PATH} ${LY_ROOT_FOLDER})
  9. include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
  10. if(NOT PAL_TRAIT_BUILD_EXTERNAL_CRASH_HANDLER_SUPPORTED)
  11. return()
  12. endif()
  13. add_subdirectory(Support)
  14. ly_add_target(
  15. NAME CrashHandler STATIC
  16. NAMESPACE AZ
  17. FILES_CMAKE
  18. crash_handler_files.cmake
  19. ${pal_dir}/crash_handler_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  20. ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  21. INCLUDE_DIRECTORIES
  22. PUBLIC
  23. Shared
  24. PRIVATE
  25. ${pal_dir}
  26. COMPILE_DEFINITIONS
  27. PUBLIC
  28. EXTERNAL_CRASH_REPORTING
  29. BUILD_DEPENDENCIES
  30. PUBLIC
  31. AZ::CrashSupport
  32. PRIVATE
  33. 3rdParty::Crashpad
  34. AZ::AzFramework
  35. )
  36. string(REPLACE "." ";" version_list "${O3DE_INSTALL_VERSION_STRING}")
  37. list(GET version_list 0 EXE_VERSION_INFO_0)
  38. list(GET version_list 1 EXE_VERSION_INFO_1)
  39. list(LENGTH version_list version_component_count)
  40. if(${version_component_count} GREATER_EQUAL 3)
  41. list(GET version_list 2 EXE_VERSION_INFO_2)
  42. else()
  43. set(EXE_VERSION_INFO_2 0)
  44. endif()
  45. if(${version_component_count} GREATER_EQUAL 4)
  46. list(GET version_list 3 EXE_VERSION_INFO_3)
  47. else()
  48. set(EXE_VERSION_INFO_3 0)
  49. endif()
  50. ly_add_source_properties(
  51. SOURCES Shared/CrashHandler.cpp
  52. PROPERTY COMPILE_DEFINITIONS
  53. VALUES
  54. LY_BUILD=${O3DE_INSTALL_BUILD_VERSION}
  55. EXE_VERSION_INFO_0=${EXE_VERSION_INFO_0}
  56. EXE_VERSION_INFO_1=${EXE_VERSION_INFO_1}
  57. EXE_VERSION_INFO_2=${EXE_VERSION_INFO_2}
  58. EXE_VERSION_INFO_3=${EXE_VERSION_INFO_3}
  59. )
  60. ly_add_target(
  61. NAME CrashUploaderSupport STATIC
  62. NAMESPACE AZ
  63. FILES_CMAKE
  64. crash_uploader_support_files.cmake
  65. INCLUDE_DIRECTORIES
  66. PUBLIC
  67. Uploader/include
  68. PRIVATE
  69. Uploader/include/Uploader
  70. BUILD_DEPENDENCIES
  71. PUBLIC
  72. 3rdParty::Crashpad::Handler
  73. AZ::CrashSupport
  74. )
  75. add_subdirectory(Tools)