CMakeLists.txt 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. if(NOT PAL_TRAIT_BUILD_HOST_TOOLS)
  9. return()
  10. endif()
  11. ly_add_target(
  12. NAME ${gem_name}.Static STATIC
  13. NAMESPACE Gem
  14. FILES_CMAKE
  15. editorpythonbindings_common_files.cmake
  16. PLATFORM_INCLUDE_FILES
  17. Source/Platform/${PAL_PLATFORM_NAME}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  18. Source/Platform/Common/${PAL_TRAIT_COMPILER_ID}/editorpythonbindings_static_${PAL_TRAIT_COMPILER_ID_LOWERCASE}.cmake
  19. INCLUDE_DIRECTORIES
  20. PRIVATE
  21. .
  22. Source
  23. PUBLIC
  24. Include
  25. BUILD_DEPENDENCIES
  26. PRIVATE
  27. AZ::AzCore
  28. PUBLIC
  29. 3rdParty::Python
  30. 3rdParty::pybind11
  31. AZ::AzToolsFramework
  32. )
  33. ly_add_target(
  34. NAME ${gem_name}.Editor GEM_MODULE
  35. NAMESPACE Gem
  36. FILES_CMAKE
  37. editorpythonbindings_editor_files.cmake
  38. INCLUDE_DIRECTORIES
  39. PRIVATE
  40. .
  41. Source
  42. PUBLIC
  43. Include
  44. BUILD_DEPENDENCIES
  45. PRIVATE
  46. Gem::${gem_name}.Static
  47. )
  48. # Inject the gem name into the Module source file
  49. ly_add_source_properties(
  50. SOURCES
  51. Source/EditorPythonBindingsModule.cpp
  52. PROPERTY COMPILE_DEFINITIONS
  53. VALUES
  54. O3DE_GEM_NAME=${gem_name}
  55. O3DE_GEM_VERSION=${gem_version})
  56. # builders and tools use EditorPythonBindings.Editor
  57. ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS ${gem_name}.Editor)
  58. ly_create_alias(NAME ${gem_name}.Tools NAMESPACE Gem TARGETS ${gem_name}.Editor)
  59. ################################################################################
  60. # Tests
  61. ################################################################################
  62. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  63. ly_add_target(
  64. NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  65. NAMESPACE Gem
  66. FILES_CMAKE
  67. editorpythonbindings_tests_files.cmake
  68. PLATFORM_INCLUDE_FILES
  69. Source/Platform/${PAL_PLATFORM_NAME}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  70. Source/Platform/Common/${PAL_TRAIT_COMPILER_ID}/editorpythonbindings_tests_${PAL_TRAIT_COMPILER_ID_LOWERCASE}.cmake
  71. INCLUDE_DIRECTORIES
  72. PRIVATE
  73. .
  74. Tests
  75. Include
  76. BUILD_DEPENDENCIES
  77. PRIVATE
  78. AZ::AzTest
  79. Gem::${gem_name}.Static
  80. )
  81. ly_add_googletest(
  82. NAME Gem::${gem_name}.Tests
  83. COMPONENT TestTools
  84. LABELS REQUIRES_tiaf
  85. )
  86. endif()