CMakeLists.txt 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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_get_list_relative_pal_filename(pal_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME})
  9. ly_get_list_relative_pal_filename(common_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/Common)
  10. ly_add_target(
  11. NAME AtomLyIntegration_CommonFeatures.Public HEADERONLY
  12. NAMESPACE Gem
  13. FILES_CMAKE
  14. atomlyintegration_commonfeatures_public_files.cmake
  15. INCLUDE_DIRECTORIES
  16. INTERFACE
  17. Include
  18. BUILD_DEPENDENCIES
  19. INTERFACE
  20. Gem::Atom_Feature_Common.Public
  21. )
  22. ly_add_target(
  23. NAME AtomLyIntegration_CommonFeatures.Static STATIC
  24. NAMESPACE Gem
  25. FILES_CMAKE
  26. atomlyintegration_commonfeatures_files.cmake
  27. INCLUDE_DIRECTORIES
  28. PRIVATE
  29. .
  30. Source
  31. PUBLIC
  32. Include
  33. BUILD_DEPENDENCIES
  34. PUBLIC
  35. AZ::AzCore
  36. AZ::AzFramework
  37. Gem::AtomLyIntegration_CommonFeatures.Public
  38. Gem::LmbrCentral.Static
  39. Gem::GradientSignal.Static
  40. Gem::SurfaceData.Static
  41. Gem::Atom_Feature_Common.Static
  42. Gem::Atom_Bootstrap.Headers
  43. )
  44. ly_add_target(
  45. NAME AtomLyIntegration_CommonFeatures ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  46. NAMESPACE Gem
  47. FILES_CMAKE
  48. atomlyintegration_commonfeatures_shared_files.cmake
  49. INCLUDE_DIRECTORIES
  50. PRIVATE
  51. Source
  52. PUBLIC
  53. Include
  54. BUILD_DEPENDENCIES
  55. PRIVATE
  56. Gem::AtomLyIntegration_CommonFeatures.Static
  57. RUNTIME_DEPENDENCIES
  58. Gem::Atom_RPI.Private
  59. Gem::Atom_Feature_Common
  60. )
  61. # The AtomLyIntegration_CommonFeatures module is used for Clients and Servers
  62. ly_create_alias(NAME AtomLyIntegration_CommonFeatures.Clients NAMESPACE Gem
  63. TARGETS
  64. Gem::AtomLyIntegration_CommonFeatures
  65. Gem::GradientSignal.Clients
  66. )
  67. ly_create_alias(NAME AtomLyIntegration_CommonFeatures.Servers NAMESPACE Gem
  68. TARGETS
  69. Gem::AtomLyIntegration_CommonFeatures
  70. Gem::GradientSignal.Servers
  71. )
  72. if(PAL_TRAIT_BUILD_HOST_TOOLS)
  73. ly_add_target(
  74. NAME AtomLyIntegration_CommonFeatures.Editor GEM_MODULE
  75. NAMESPACE Gem
  76. AUTOUIC
  77. AUTOMOC
  78. AUTORCC
  79. FILES_CMAKE
  80. atomlyintegration_commonfeatures_editor_files.cmake
  81. ${pal_source_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  82. INCLUDE_DIRECTORIES
  83. PRIVATE
  84. .
  85. Source
  86. PUBLIC
  87. Include
  88. COMPILE_DEFINITIONS
  89. PRIVATE
  90. ATOMLYINTEGRATION_FEATURE_COMMON_EDITOR
  91. BUILD_DEPENDENCIES
  92. PRIVATE
  93. Gem::AtomLyIntegration_CommonFeatures.Static
  94. Gem::Atom_RPI.Edit
  95. Gem::AtomToolsFramework.Static
  96. Gem::AtomToolsFramework.Editor
  97. AZ::SceneCore
  98. AZ::SceneData
  99. Legacy::Editor.Headers
  100. Legacy::EditorCommon
  101. Legacy::CryCommon
  102. RUNTIME_DEPENDENCIES
  103. Gem::Atom_RPI.Editor
  104. Gem::Atom_Feature_Common.Editor
  105. Legacy::EditorCommon
  106. )
  107. # The AtomLyIntegration_CommonFeatures.Editor module is used for Builders and Tools
  108. ly_create_alias(NAME AtomLyIntegration_CommonFeatures.Builders NAMESPACE Gem
  109. TARGETS
  110. Gem::AtomLyIntegration_CommonFeatures.Editor
  111. Gem::Atom_Feature_Common.Builders
  112. Gem::Atom_RPI.Builders
  113. Gem::GradientSignal.Builders
  114. )
  115. ly_create_alias(NAME AtomLyIntegration_CommonFeatures.Tools NAMESPACE Gem
  116. TARGETS
  117. Gem::AtomLyIntegration_CommonFeatures.Editor
  118. Gem::GradientSignal.Tools
  119. )
  120. endif()
  121. # AtomLyIntegration_CommonFeatures gem targets are required as part of the Editor and AssetProcessor
  122. # due to the AZ::Render::EditorDirectionalLightComponent, AZ::Render::EditorMeshComponent,
  123. # AZ::Render::EditorGridComponent, AZ::Render::EditorHDRiSkyboxComponent,
  124. # AZ::Render::EditorImageBasedLightComponent being saved as part of the DefaultLevel.prefab
  125. ly_enable_gems(GEMS AtomLyIntegration_CommonFeatures)