CMakeLists.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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 Vegetation.Static STATIC
  10. NAMESPACE Gem
  11. FILES_CMAKE
  12. vegetation_files.cmake
  13. COMPILE_DEFINITIONS
  14. PUBLIC
  15. # if we are in debug or profile, enable VEG_PROFILE_ENABLED
  16. $<$<IN_LIST:$<CONFIG>,debug;profile>:VEG_PROFILE_ENABLED>
  17. INCLUDE_DIRECTORIES
  18. PRIVATE
  19. Source
  20. PUBLIC
  21. Include
  22. BUILD_DEPENDENCIES
  23. PRIVATE
  24. Gem::LmbrCentral.API
  25. Gem::SurfaceData.Static
  26. Legacy::CryCommon
  27. PUBLIC
  28. Gem::AtomLyIntegration_CommonFeatures.Static
  29. )
  30. ly_add_target(
  31. NAME Vegetation ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  32. NAMESPACE Gem
  33. FILES_CMAKE
  34. vegetation_shared_files.cmake
  35. INCLUDE_DIRECTORIES
  36. PRIVATE
  37. Source
  38. PUBLIC
  39. Include
  40. BUILD_DEPENDENCIES
  41. PRIVATE
  42. Gem::Vegetation.Static
  43. Legacy::CryCommon
  44. RUNTIME_DEPENDENCIES
  45. Gem::LmbrCentral
  46. Gem::GradientSignal
  47. Gem::SurfaceData
  48. )
  49. # the above module is for use in clients and server type applications
  50. ly_create_alias(NAME Vegetation.Servers NAMESPACE Gem TARGETS Gem::Vegetation)
  51. ly_create_alias(NAME Vegetation.Clients NAMESPACE Gem TARGETS Gem::Vegetation)
  52. ly_create_alias(NAME Vegetation.Unified NAMESPACE Gem TARGETS Gem::Vegetation)
  53. if(PAL_TRAIT_BUILD_HOST_TOOLS)
  54. ly_add_target(
  55. NAME Vegetation.Editor GEM_MODULE
  56. NAMESPACE Gem
  57. FILES_CMAKE
  58. vegetation_editor_files.cmake
  59. COMPILE_DEFINITIONS
  60. PRIVATE
  61. VEGETATION_EDITOR
  62. INCLUDE_DIRECTORIES
  63. PRIVATE
  64. Source
  65. PUBLIC
  66. Include
  67. BUILD_DEPENDENCIES
  68. PRIVATE
  69. Gem::Vegetation.Static
  70. AZ::AzToolsFramework
  71. Legacy::CryCommon
  72. RUNTIME_DEPENDENCIES
  73. Gem::LmbrCentral.Editor
  74. Gem::GradientSignal.Editor
  75. Gem::SurfaceData.Editor
  76. )
  77. # the above module is for use in dev tools
  78. ly_create_alias(NAME Vegetation.Builders NAMESPACE Gem TARGETS Gem::Vegetation.Editor)
  79. ly_create_alias(NAME Vegetation.Tools NAMESPACE Gem TARGETS Gem::Vegetation.Editor)
  80. endif()
  81. ################################################################################
  82. # Tests
  83. ################################################################################
  84. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  85. ly_add_target(
  86. NAME Vegetation.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  87. NAMESPACE Gem
  88. FILES_CMAKE
  89. vegetation_tests_files.cmake
  90. vegetation_shared_files.cmake
  91. INCLUDE_DIRECTORIES
  92. PRIVATE
  93. Tests
  94. Source
  95. .
  96. BUILD_DEPENDENCIES
  97. PRIVATE
  98. AZ::AzTest
  99. AZ::AzFrameworkTestShared
  100. Gem::Vegetation.Static
  101. Gem::LmbrCentral.Mocks
  102. Legacy::CryCommon
  103. )
  104. ly_add_googletest(
  105. NAME Gem::Vegetation.Tests
  106. LABELS REQUIRES_tiaf
  107. )
  108. endif()