CMakeLists.txt 4.5 KB

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