CMakeLists.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. set(SCRIPT_CANVAS_DEV_COMMON_DEFINES
  9. SCRIPTCANVASDEVELOPER
  10. AZCORE_ENABLE_MEMORY_TRACKING
  11. )
  12. ly_add_target(
  13. NAME ${gem_name}.Static STATIC
  14. NAMESPACE Gem
  15. FILES_CMAKE
  16. scriptcanvasdeveloper_gem_common_files.cmake
  17. INCLUDE_DIRECTORIES
  18. PUBLIC
  19. Include
  20. COMPILE_DEFINITIONS
  21. PRIVATE
  22. ${SCRIPT_CANVAS_DEV_COMMON_DEFINES}
  23. IMGUI_ENABLED
  24. BUILD_DEPENDENCIES
  25. PUBLIC
  26. Gem::ScriptCanvas.API
  27. PRIVATE
  28. AZ::AzCore
  29. AZ::AzFramework
  30. Gem::ImGui.imguilib
  31. )
  32. ly_add_target(
  33. NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  34. NAMESPACE Gem
  35. FILES_CMAKE
  36. scriptcanvasdeveloper_gem_game_files.cmake
  37. INCLUDE_DIRECTORIES
  38. PRIVATE
  39. Include
  40. Source
  41. COMPILE_DEFINITIONS
  42. PRIVATE
  43. ${SCRIPT_CANVAS_DEV_COMMON_DEFINES}
  44. BUILD_DEPENDENCIES
  45. PRIVATE
  46. AZ::AzCore
  47. Gem::${gem_name}.Static
  48. Gem::ImGui # note that this includes the ImGui bus interfaces, but not necessarily the static lib
  49. RUNTIME_DEPENDENCIES
  50. Gem::ScriptCanvas
  51. )
  52. # Inject the gem name into the Module source file
  53. ly_add_source_properties(
  54. SOURCES
  55. Game/Source/ScriptCanvasDeveloperGem.cpp
  56. PROPERTY COMPILE_DEFINITIONS
  57. VALUES
  58. O3DE_GEM_NAME=${gem_name}
  59. O3DE_GEM_VERSION=${gem_version})
  60. # By default, the above module is the Client/Server module
  61. ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name})
  62. ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS Gem::${gem_name})
  63. ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS Gem::${gem_name})
  64. if(PAL_TRAIT_BUILD_HOST_TOOLS)
  65. ly_add_target(
  66. NAME ${gem_name}.Editor GEM_MODULE
  67. NAMESPACE Gem
  68. AUTOMOC
  69. FILES_CMAKE
  70. scriptcanvasdeveloper_gem_editor_files.cmake
  71. INCLUDE_DIRECTORIES
  72. PRIVATE
  73. .
  74. Source
  75. Editor/Include
  76. Editor/Source
  77. COMPILE_DEFINITIONS
  78. PRIVATE
  79. SCRIPTCANVASDEVELOPER_EDITOR
  80. ${SCRIPT_CANVAS_DEV_COMMON_DEFINES}
  81. BUILD_DEPENDENCIES
  82. PRIVATE
  83. 3rdParty::Qt::Test
  84. AZ::AzCore
  85. AZ::AzFramework
  86. AZ::AzToolsFramework
  87. Gem::${gem_name}.Static
  88. Gem::ScriptCanvas.Editor.Static
  89. Gem::GraphCanvasWidgets
  90. Gem::ImGui.Tools # note that this includes the ImGui bus interfaces, but not necessarily the static lib
  91. RUNTIME_DEPENDENCIES
  92. Gem::ScriptCanvas.Editor
  93. Gem::GraphCanvasWidgets
  94. )
  95. # Inject the gem name into the Module source file
  96. ly_add_source_properties(
  97. SOURCES
  98. Editor/Source/ScriptCanvasDeveloperGem.cpp
  99. PROPERTY COMPILE_DEFINITIONS
  100. VALUES
  101. O3DE_GEM_NAME=${gem_name}
  102. O3DE_GEM_VERSION=${gem_version})
  103. # By Default the above module is the dev tools module
  104. ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS Gem::${gem_name}.Editor)
  105. ly_create_alias(NAME ${gem_name}.Tools NAMESPACE Gem TARGETS Gem::${gem_name}.Editor)
  106. endif()