CMakeLists.txt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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}.Client.Static STATIC
  10. NAMESPACE Gem
  11. FILES_CMAKE
  12. awsgamelift_client_files.cmake
  13. INCLUDE_DIRECTORIES
  14. PUBLIC
  15. ../AWSGameLiftCommon/Include
  16. Include
  17. PRIVATE
  18. ../AWSGameLiftCommon/Source
  19. Source
  20. COMPILE_DEFINITIONS
  21. PRIVATE
  22. ${awsgameliftclient_compile_definition}
  23. BUILD_DEPENDENCIES
  24. PRIVATE
  25. AZ::AzCore
  26. Gem::AWSCore
  27. Gem::Multiplayer.Unified.Static
  28. 3rdParty::AWSNativeSDK::GameLiftClient
  29. )
  30. ly_add_target(
  31. NAME ${gem_name}.Clients ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  32. NAMESPACE Gem
  33. FILES_CMAKE
  34. awsgamelift_client_shared_files.cmake
  35. INCLUDE_DIRECTORIES
  36. PRIVATE
  37. Source
  38. BUILD_DEPENDENCIES
  39. PRIVATE
  40. AZ::AzCore
  41. Gem::Multiplayer.Common.Static
  42. 3rdParty::AWSNativeSDK::GameLiftClient
  43. PUBLIC
  44. Gem::${gem_name}.Client.Static
  45. RUNTIME_DEPENDENCIES
  46. Gem::AWSCore.Clients
  47. )
  48. # Inject the gem name into the Module source file
  49. ly_add_source_properties(
  50. SOURCES
  51. Source/AWSGameLiftClientModule.cpp
  52. PROPERTY COMPILE_DEFINITIONS
  53. VALUES
  54. O3DE_GEM_NAME=${gem_name}
  55. O3DE_GEM_VERSION=${gem_version})
  56. # Load the "Gem::${gem_name}" module in all types of applications.
  57. if (PAL_TRAIT_BUILD_HOST_TOOLS)
  58. ly_add_target(
  59. NAME ${gem_name}.Editor ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  60. NAMESPACE Gem
  61. FILES_CMAKE
  62. awsgamelift_client_editor_files.cmake
  63. awsgamelift_client_shared_files.cmake
  64. INCLUDE_DIRECTORIES
  65. PRIVATE
  66. ../AWSGameLiftCommon/Include
  67. ../AWSGameLiftCommon/Source
  68. Source
  69. PUBLIC
  70. Include
  71. COMPILE_DEFINITIONS
  72. PRIVATE
  73. AWS_GAMELIFT_CLIENT_EDITOR
  74. BUILD_DEPENDENCIES
  75. PRIVATE
  76. AZ::AzCore
  77. AZ::AzFramework
  78. AZ::AzToolsFramework
  79. Gem::AWSCore
  80. Gem::Multiplayer.Unified.Static
  81. 3rdParty::AWSNativeSDK::GameLiftClient
  82. RUNTIME_DEPENDENCIES
  83. Gem::${gem_name}.Clients
  84. )
  85. ly_create_alias(
  86. NAME ${gem_name}.Tools
  87. NAMESPACE Gem
  88. TARGETS
  89. Gem::${gem_name}.Editor
  90. Gem::AWSCore.Tools
  91. )
  92. ly_create_alias(
  93. NAME ${gem_name}.Builders
  94. NAMESPACE Gem
  95. TARGETS
  96. Gem::AWSCore.Builders
  97. Gem::${gem_name}.Clients
  98. )
  99. endif()
  100. ################################################################################
  101. # Tests
  102. ################################################################################
  103. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  104. ly_add_target(
  105. NAME ${gem_name}.Client.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  106. NAMESPACE Gem
  107. FILES_CMAKE
  108. awsgamelift_client_tests_files.cmake
  109. INCLUDE_DIRECTORIES
  110. PRIVATE
  111. ../AWSGameLiftCommon/Include
  112. ../AWSGameLiftCommon/Source
  113. Include
  114. Tests
  115. Source
  116. BUILD_DEPENDENCIES
  117. PRIVATE
  118. AZ::AzCore
  119. AZ::AzTest
  120. Gem::AWSCore
  121. Gem::${gem_name}.Client.Static
  122. Gem::Multiplayer.Unified.Static
  123. 3rdParty::AWSNativeSDK::GameLiftClient
  124. AZ::AWSNativeSDKTestLibs
  125. )
  126. # Add ${gem_name}.Client.Tests to googletest
  127. ly_add_googletest(
  128. NAME Gem::${gem_name}.Client.Tests
  129. LABELS REQUIRES_tiaf
  130. )
  131. endif()