You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
285 lines
8.8 KiB
CMAke
285 lines
8.8 KiB
CMAke
#
|
|
# Copyright (c) Contributors to the Open 3D Engine Project.
|
|
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
#
|
|
#
|
|
|
|
set(SCRIPT_CANVAS_COMMON_DEFINES
|
|
SCRIPTCANVAS
|
|
ENABLE_EXTENDED_MATH_SUPPORT=0
|
|
)
|
|
|
|
set(SCRIPT_CANVAS_EXECUTION_NOTIFICATION_DEFINES
|
|
$<$<NOT:$<CONFIG:Release>>:SC_EXECUTION_TRACE_ENABLED> # this is REQUIRED for debugging/execution logging
|
|
)
|
|
|
|
set(SCRIPT_CANVAS_DEBUG_DEBUGGER_DEFINES
|
|
$<$<NOT:$<CONFIG:Release>>:
|
|
# SCRIPT_CANVAS_DEBUGGER_IS_ALWAYS_OBSERVING # for aggressive logging that ignores filtering (probably only for debug/development purposes)
|
|
# SCRIPT_CANVAS_DEBUGGER_CONNECT_TO_ANYTHING_BUT_SELF # connect to the first target that is not self
|
|
# SCRIPT_CANVAS_DEBUG_DEBUGGER # to debug the ScriptCanvas Debugging systems themselves
|
|
>
|
|
)
|
|
|
|
ly_add_target(
|
|
NAME ScriptCanvasDebugger STATIC
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_debugger_files.cmake
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
Include
|
|
Include/ScriptCanvas
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
${SCRIPT_CANVAS_DEBUG_DEBUGGER_DEFINES}
|
|
${SCRIPT_CANVAS_EXECUTION_NOTIFICATION_DEFINES}
|
|
BUILD_DEPENDENCIES
|
|
PRIVATE
|
|
AZ::AzCore
|
|
AZ::AzFramework
|
|
Gem::ScriptEvents.Static
|
|
)
|
|
|
|
# the script canvas debugger is an optional gem module
|
|
# To Enable it, associate it with a project
|
|
ly_create_alias(NAME ScriptCanvasDebugger.Builders NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger)
|
|
ly_create_alias(NAME ScriptCanvasDebugger.Tools NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger)
|
|
ly_create_alias(NAME ScriptCanvasDebugger.Clients NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger)
|
|
ly_create_alias(NAME ScriptCanvasDebugger.Servers NAMESPACE Gem TARGETS Gem::ScriptCanvasDebugger)
|
|
|
|
ly_add_target(
|
|
NAME ScriptCanvas.Static STATIC
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_common_files.cmake
|
|
scriptcanvasgem_runtime_asset_files.cmake
|
|
INCLUDE_DIRECTORIES
|
|
PUBLIC
|
|
.
|
|
Include
|
|
Include/ScriptCanvas
|
|
${SCRIPT_CANVAS_AUTOGEN_BUILD_DIR}
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
${SCRIPT_CANVAS_DEBUG_DEBUGGER_DEFINES}
|
|
${SCRIPT_CANVAS_EXECUTION_NOTIFICATION_DEFINES}
|
|
BUILD_DEPENDENCIES
|
|
PUBLIC
|
|
Gem::ScriptEvents.Static
|
|
Gem::ExpressionEvaluation.Static
|
|
PRIVATE
|
|
AZ::AzCore
|
|
AZ::AzFramework
|
|
Gem::ScriptCanvasDebugger
|
|
AUTOGEN_RULES
|
|
*.ScriptCanvasGrammar.xml,ScriptCanvasGrammar_Header.jinja,$path/$fileprefix.generated.h
|
|
*.ScriptCanvasGrammar.xml,ScriptCanvasGrammar_Source.jinja,$path/$fileprefix.generated.cpp
|
|
*.ScriptCanvasNodeable.xml,ScriptCanvasNodeable_Header.jinja,$path/$fileprefix.generated.h
|
|
*.ScriptCanvasNodeable.xml,ScriptCanvasNodeable_Source.jinja,$path/$fileprefix.generated.cpp
|
|
RUNTIME_DEPENDENCIES
|
|
Gem::ScriptCanvasDebugger
|
|
)
|
|
|
|
ly_add_target(
|
|
NAME ScriptCanvas ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_game_files.cmake
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
.
|
|
Include/ScriptCanvas
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
BUILD_DEPENDENCIES
|
|
PUBLIC
|
|
Gem::ScriptCanvas.Static
|
|
PRIVATE
|
|
AZ::AzCore
|
|
AZ::AzFramework
|
|
Gem::ScriptEvents.Static
|
|
RUNTIME_DEPENDENCIES
|
|
Gem::ScriptEvents
|
|
Gem::ExpressionEvaluation
|
|
)
|
|
|
|
# the "ScriptCanvas" target is active in Clients and Servers
|
|
ly_create_alias(NAME ScriptCanvas.Clients NAMESPACE Gem TARGETS Gem::ScriptCanvas)
|
|
ly_create_alias(NAME ScriptCanvas.Servers NAMESPACE Gem TARGETS Gem::ScriptCanvas)
|
|
|
|
if(PAL_TRAIT_BUILD_HOST_TOOLS)
|
|
ly_add_target(
|
|
NAME ScriptCanvasEditor STATIC
|
|
NAMESPACE Gem
|
|
AUTOMOC
|
|
FILES_CMAKE
|
|
scriptcanvasgem_editor_static_files.cmake
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
SCRIPTCANVAS_EDITOR
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
INCLUDE_DIRECTORIES
|
|
PUBLIC
|
|
.
|
|
Editor/Include
|
|
Editor/Static/Include
|
|
BUILD_DEPENDENCIES
|
|
PRIVATE
|
|
AZ::AzCore
|
|
AZ::AzToolsFramework
|
|
3rdParty::Qt::Widgets
|
|
Gem::ScriptCanvas
|
|
)
|
|
|
|
ly_add_target(
|
|
NAME ScriptCanvas.Editor.Static STATIC
|
|
NAMESPACE Gem
|
|
AUTOMOC
|
|
AUTOUIC
|
|
AUTORCC
|
|
FILES_CMAKE
|
|
scriptcanvasgem_editor_files.cmake
|
|
scriptcanvasgem_editor_asset_files.cmake
|
|
scriptcanvasgem_editor_builder_files.cmake
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
SCRIPTCANVAS_EDITOR
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
.
|
|
Editor
|
|
Editor/Include
|
|
${SCRIPT_CANVAS_AUTOGEN_BUILD_DIR}
|
|
BUILD_DEPENDENCIES
|
|
PUBLIC
|
|
Legacy::CryCommon
|
|
AZ::AzCore
|
|
AZ::AssetBuilderSDK
|
|
${additional_dependencies}
|
|
Gem::ScriptCanvas
|
|
Gem::ScriptCanvasEditor
|
|
Gem::ScriptEvents.Static
|
|
Gem::GraphCanvasWidgets
|
|
Gem::ExpressionEvaluation.Static
|
|
PRIVATE
|
|
Legacy::EditorCore
|
|
RUNTIME_DEPENDENCIES
|
|
Gem::ScriptCanvas
|
|
)
|
|
|
|
ly_add_target(
|
|
NAME ScriptCanvas.Editor GEM_MODULE
|
|
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_editor_shared_files.cmake
|
|
COMPILE_DEFINITIONS
|
|
PUBLIC
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
PRIVATE
|
|
SCRIPTCANVAS_EDITOR
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
.
|
|
Editor
|
|
Editor/Include
|
|
BUILD_DEPENDENCIES
|
|
PRIVATE
|
|
AZ::AzToolsFramework
|
|
PUBLIC
|
|
Gem::ScriptCanvas.Editor.Static
|
|
RUNTIME_DEPENDENCIES
|
|
3rdParty::Qt::Core
|
|
3rdParty::Qt::Gui
|
|
3rdParty::Qt::Widgets
|
|
Legacy::EditorCore
|
|
AZ::AzQtComponents
|
|
Gem::GraphCanvas.Editor
|
|
Gem::ScriptEvents.Editor
|
|
Gem::ExpressionEvaluation
|
|
)
|
|
|
|
# the "ScriptCanvas.Editor" target is active in all dev tools:
|
|
ly_create_alias(NAME ScriptCanvas.Builders NAMESPACE Gem TARGETS Gem::ScriptCanvas.Editor)
|
|
ly_create_alias(NAME ScriptCanvas.Tools NAMESPACE Gem TARGETS Gem::ScriptCanvas.Editor)
|
|
|
|
|
|
endif()
|
|
|
|
################################################################################
|
|
# Tests
|
|
################################################################################
|
|
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
|
ly_add_target(
|
|
NAME ScriptCanvas.Tests MODULE
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_tests_files.cmake
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
Include
|
|
Source
|
|
COMPILE_DEFINITIONS
|
|
PRIVATE
|
|
SCRIPTCANVAS_EDITOR
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
BUILD_DEPENDENCIES
|
|
PRIVATE
|
|
AZ::AzTest
|
|
AZ::AzFramework
|
|
RUNTIME_DEPENDENCIES
|
|
Gem::ScriptCanvas
|
|
)
|
|
ly_add_googletest(
|
|
NAME Gem::ScriptCanvas.Tests
|
|
)
|
|
|
|
if(PAL_TRAIT_BUILD_HOST_TOOLS)
|
|
ly_add_target(
|
|
NAME ScriptCanvas.Editor.Tests MODULE
|
|
NAMESPACE Gem
|
|
FILES_CMAKE
|
|
scriptcanvasgem_tests_files.cmake
|
|
scriptcanvasgem_editor_tests_files.cmake
|
|
INCLUDE_DIRECTORIES
|
|
PRIVATE
|
|
.
|
|
Include
|
|
Include/ScriptCanvas
|
|
Source
|
|
COMPILE_DEFINITIONS
|
|
PRIVATE
|
|
SCRIPTCANVAS_EDITOR
|
|
SCRIPTCANVAS_ERRORS_ENABLED
|
|
${SCRIPT_CANVAS_COMMON_DEFINES}
|
|
BUILD_DEPENDENCIES
|
|
PRIVATE
|
|
AZ::AzTest
|
|
Gem::ScriptCanvasEditor
|
|
Gem::ScriptCanvas.Editor.Static
|
|
)
|
|
ly_add_googletest(
|
|
NAME Gem::ScriptCanvas.Editor.Tests
|
|
)
|
|
endif()
|
|
endif()
|