CMakeLists.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
  9. ly_add_target(
  10. NAME ${gem_name}.Static STATIC
  11. NAMESPACE Gem
  12. PLATFORM_INCLUDE_FILES
  13. ${pal_source_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  14. FILES_CMAKE
  15. savedata_files.cmake
  16. ${pal_source_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  17. INCLUDE_DIRECTORIES
  18. PRIVATE
  19. Source
  20. PUBLIC
  21. Include
  22. ${pal_source_dir}
  23. BUILD_DEPENDENCIES
  24. PUBLIC
  25. AZ::AzCore
  26. AZ::AzFramework
  27. )
  28. ly_add_target(
  29. NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  30. NAMESPACE Gem
  31. FILES_CMAKE
  32. savedata_shared_files.cmake
  33. INCLUDE_DIRECTORIES
  34. PRIVATE
  35. Source
  36. PUBLIC
  37. Include
  38. BUILD_DEPENDENCIES
  39. PRIVATE
  40. Gem::${gem_name}.Static
  41. )
  42. # Inject the gem name into the Module source file
  43. ly_add_source_properties(
  44. SOURCES
  45. Source/SaveDataModule.cpp
  46. PROPERTY COMPILE_DEFINITIONS
  47. VALUES
  48. O3DE_GEM_NAME=${gem_name}
  49. O3DE_GEM_VERSION=${gem_version})
  50. # the ${gem_name} module above is only used in Clients by default.
  51. ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name})
  52. ################################################################################
  53. # Tests
  54. ################################################################################
  55. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  56. ly_add_target(
  57. NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  58. NAMESPACE Gem
  59. FILES_CMAKE
  60. savedata_tests_files.cmake
  61. ${pal_source_dir}/platform_test_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  62. INCLUDE_DIRECTORIES
  63. PRIVATE
  64. Tests
  65. Source
  66. BUILD_DEPENDENCIES
  67. PRIVATE
  68. AZ::AzTest
  69. Gem::${gem_name}.Static
  70. )
  71. ly_add_googletest(
  72. NAME Gem::${gem_name}.Tests
  73. LABELS REQUIRES_tiaf
  74. )
  75. endif()