CMakeLists.txt 3.5 KB

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