2
0

CMakeLists.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. o3de_pal_dir(pal_include_dir ${CMAKE_CURRENT_LIST_DIR}/Include/XR/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
  9. o3de_pal_dir(pal_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
  10. include(${pal_source_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
  11. if(PAL_TRAIT_XR_TARGETS_ALREADY_DEFINED)
  12. return() # XR targets already defined in PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  13. endif()
  14. if(NOT PAL_TRAIT_XR_SUPPORTED)
  15. # Create stub modules. Once we support gem loading configuration, we can remove this stubbed targets
  16. ly_add_target(
  17. NAME XR ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  18. NAMESPACE Gem
  19. FILES_CMAKE
  20. xr_stub_module.cmake
  21. INCLUDE_DIRECTORIES
  22. PRIVATE
  23. Source
  24. BUILD_DEPENDENCIES
  25. PRIVATE
  26. AZ::AzCore
  27. )
  28. return() # Do not create the rest of the targets
  29. endif()
  30. ly_add_target(
  31. NAME XR.Static STATIC
  32. NAMESPACE Gem
  33. FILES_CMAKE
  34. xr_private_common_files.cmake
  35. ${pal_source_dir}/platform_private_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  36. ${pal_include_dir}/platform_private_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  37. PLATFORM_INCLUDE_FILES
  38. ${pal_source_dir}/platform_private_static_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  39. INCLUDE_DIRECTORIES
  40. PRIVATE
  41. Source
  42. ${pal_source_dir}
  43. PUBLIC
  44. Include
  45. ${pal_include_dir}
  46. BUILD_DEPENDENCIES
  47. PUBLIC
  48. AZ::AzCore
  49. AZ::AzFramework
  50. AZ::AtomCore
  51. Gem::Atom_RPI.Public
  52. )
  53. ly_add_target(
  54. NAME XR ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  55. NAMESPACE Gem
  56. FILES_CMAKE
  57. xr_private_common_shared_files.cmake
  58. INCLUDE_DIRECTORIES
  59. PRIVATE
  60. Source
  61. ${pal_source_dir}
  62. PUBLIC
  63. Include
  64. BUILD_DEPENDENCIES
  65. PRIVATE
  66. Gem::XR.Static
  67. )
  68. # use the XR module in clients and tools:
  69. ly_create_alias(NAME XR.Clients NAMESPACE Gem TARGETS Gem::XR)
  70. ly_create_alias(NAME XR.Tools NAMESPACE Gem TARGETS Gem::XR)