CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. ly_add_target(
  9. NAME ${gem_name}.Static STATIC
  10. NAMESPACE Gem
  11. FILES_CMAKE
  12. gamestate_files.cmake
  13. INCLUDE_DIRECTORIES
  14. PRIVATE
  15. Source
  16. PUBLIC
  17. Include
  18. BUILD_DEPENDENCIES
  19. PUBLIC
  20. AZ::AzCore
  21. )
  22. ly_add_target(
  23. NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  24. NAMESPACE Gem
  25. FILES_CMAKE
  26. gamestate_shared_files.cmake
  27. INCLUDE_DIRECTORIES
  28. PRIVATE
  29. Source
  30. PUBLIC
  31. Include
  32. BUILD_DEPENDENCIES
  33. PRIVATE
  34. Gem::${gem_name}.Static
  35. )
  36. # Inject the gem name into the Module source file
  37. ly_add_source_properties(
  38. SOURCES
  39. Source/GameStateModule.cpp
  40. PROPERTY COMPILE_DEFINITIONS
  41. VALUES
  42. O3DE_GEM_NAME=${gem_name}
  43. O3DE_GEM_VERSION=${gem_version})
  44. # Clients and Servers use the above module. There is no editor or tools module required.
  45. ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS ${gem_name})
  46. ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS ${gem_name})
  47. ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS ${gem_name})
  48. ################################################################################
  49. # Tests
  50. ################################################################################
  51. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  52. ly_add_target(
  53. NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  54. NAMESPACE Gem
  55. FILES_CMAKE
  56. gamestate_tests_files.cmake
  57. INCLUDE_DIRECTORIES
  58. PRIVATE
  59. Tests
  60. Source
  61. BUILD_DEPENDENCIES
  62. PRIVATE
  63. AZ::AzTest
  64. Gem::${gem_name}.Static
  65. )
  66. ly_add_googletest(
  67. NAME Gem::${gem_name}.Tests
  68. LABELS REQUIRES_tiaf
  69. )
  70. endif()