CMakeLists.txt 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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. include(AzFramework/feature_options.cmake)
  9. o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} ${O3DE_ENGINE_RESTRICTED_PATH} ${LY_ROOT_FOLDER})
  10. set(common_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/Common)
  11. if(LY_PIX_ENABLED)
  12. set(AZ_FRAMEWORK_NATIVEUI_PIX_BUILD_DEPENDENCIES 3rdParty::pix)
  13. endif()
  14. ly_add_target(
  15. NAME AzFramework STATIC
  16. NAMESPACE AZ
  17. FILES_CMAKE
  18. AzFramework/azframework_files.cmake
  19. ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  20. PLATFORM_INCLUDE_FILES
  21. ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  22. INCLUDE_DIRECTORIES
  23. PUBLIC
  24. .
  25. ${pal_dir}
  26. PRIVATE
  27. ${common_dir}
  28. BUILD_DEPENDENCIES
  29. PRIVATE
  30. AZ::AzCore
  31. PUBLIC
  32. AZ::AzNetworking
  33. 3rdParty::zstd
  34. 3rdParty::lz4
  35. )
  36. ly_add_target(
  37. NAME AzFramework.NativeUI STATIC
  38. NAMESPACE AZ
  39. FILES_CMAKE
  40. AzFramework/azframework_nativeui_files.cmake
  41. ${pal_dir}/platform_nativeui_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  42. PLATFORM_INCLUDE_FILES
  43. ${pal_dir}/platform_nativeui_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  44. INCLUDE_DIRECTORIES
  45. PUBLIC
  46. .
  47. ${pal_dir}
  48. PRIVATE
  49. ${common_dir}
  50. BUILD_DEPENDENCIES
  51. PRIVATE
  52. AZ::AzCore
  53. AZ::AzFramework
  54. ${AZ_FRAMEWORK_NATIVEUI_PIX_BUILD_DEPENDENCIES}
  55. )
  56. set(LY_SEARCH_MODE_DEFINE $<$<BOOL:"${LY_ARCHIVE_FILE_SEARCH_MODE}">:LY_ARCHIVE_FILE_SEARCH_MODE=${LY_ARCHIVE_FILE_SEARCH_MODE}>)
  57. ly_add_source_properties(
  58. SOURCES
  59. AzFramework/Archive/ArchiveVars.cpp
  60. PROPERTY COMPILE_DEFINITIONS
  61. VALUES ${LY_SEARCH_MODE_DEFINE})
  62. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  63. o3de_pal_dir(test_pal_dir ${CMAKE_CURRENT_LIST_DIR}/Tests/Platform/${PAL_PLATFORM_NAME} ${O3DE_ENGINE_RESTRICTED_PATH} ${LY_ROOT_FOLDER})
  64. ly_add_target(
  65. NAME AzFrameworkTestShared STATIC
  66. NAMESPACE AZ
  67. FILES_CMAKE
  68. Tests/framework_shared_tests_files.cmake
  69. AzFramework/Physics/physics_mock_files.cmake
  70. Tests/terrain_mock_files.cmake
  71. INCLUDE_DIRECTORIES
  72. PUBLIC
  73. Tests
  74. BUILD_DEPENDENCIES
  75. PRIVATE
  76. AZ::AzCore
  77. AZ::AzFramework
  78. PUBLIC
  79. AZ::AzTest
  80. AZ::AzTestShared
  81. )
  82. if(PAL_TRAIT_BUILD_HOST_TOOLS)
  83. ly_add_target(
  84. NAME ProcessLaunchTest EXECUTABLE
  85. NAMESPACE AZ
  86. FILES_CMAKE
  87. Tests/process_launch_test_files.cmake
  88. INCLUDE_DIRECTORIES
  89. PRIVATE
  90. Tests
  91. BUILD_DEPENDENCIES
  92. PRIVATE
  93. AZ::AzCore
  94. AZ::AzFramework
  95. )
  96. ly_add_target(
  97. NAME AzFramework.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  98. NAMESPACE AZ
  99. FILES_CMAKE
  100. Tests/frameworktests_files.cmake
  101. ${test_pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  102. INCLUDE_DIRECTORIES
  103. PRIVATE
  104. Tests
  105. ${test_pal_dir}
  106. BUILD_DEPENDENCIES
  107. PRIVATE
  108. AZ::AzFramework
  109. AZ::AzTest
  110. AZ::AzTestShared
  111. AZ::AzFrameworkTestShared
  112. RUNTIME_DEPENDENCIES
  113. AZ::ProcessLaunchTest
  114. )
  115. ly_add_googletest(
  116. NAME AZ::AzFramework.Tests
  117. LABELS REQUIRES_tiaf;TIAF_shard_fixture
  118. )
  119. ly_add_target(
  120. NAME AzFramework.NativeUI.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  121. NAMESPACE AZ
  122. FILES_CMAKE
  123. Tests/framework_nativeui_tests_files.cmake
  124. INCLUDE_DIRECTORIES
  125. PRIVATE
  126. Tests
  127. ${test_pal_dir}
  128. BUILD_DEPENDENCIES
  129. PRIVATE
  130. AZ::AzFramework
  131. AZ::AzFramework.NativeUI
  132. AZ::AzTest
  133. AZ::AzTestShared
  134. AZ::AzFrameworkTestShared
  135. RUNTIME_DEPENDENCIES
  136. AZ::ProcessLaunchTest
  137. )
  138. ly_add_googletest(
  139. NAME AZ::AzFramework.NativeUI.Tests
  140. )
  141. include(${test_pal_dir}/platform_specific_test_targets.cmake)
  142. endif()
  143. endif()