Files
o3de/Gems/LyShine/Code/CMakeLists.txt
AMZN-byrcolin c778606c89 Templates restricted (#6498)
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code

Signed-off-by: byrcolin <byrcolin@amazon.com>
2022-01-14 10:27:20 -08:00

259 lines
7.6 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
#
#
o3de_pal_dir(pal_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME} ${gem_restricted_path} ${gem_path} ${gem_parent_relative_path})
set(common_source_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/Common)
ly_add_target(
NAME LyShine.Static STATIC
NAMESPACE Gem
FILES_CMAKE
lyshine_static_files.cmake
${pal_source_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
INCLUDE_DIRECTORIES
PRIVATE
Source
PUBLIC
Include
BUILD_DEPENDENCIES
PRIVATE
Legacy::CryCommon
Gem::LmbrCentral
PUBLIC
Gem::Atom_RPI.Public
Gem::Atom_Utils.Static
Gem::Atom_Bootstrap.Headers
Gem::AtomFont
Gem::TextureAtlas
)
ly_add_target(
NAME LyShine ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
NAMESPACE Gem
FILES_CMAKE
lyshine_common_module_files.cmake
INCLUDE_DIRECTORIES
PRIVATE
Source
PUBLIC
Include
BUILD_DEPENDENCIES
PRIVATE
Gem::LyShine.Static
Legacy::CryCommon
Gem::LmbrCentral
PUBLIC
Gem::Atom_RHI.Reflect
Gem::Atom_RPI.Public
RUNTIME_DEPENDENCIES
Gem::LmbrCentral
Gem::TextureAtlas
)
# by default, load the above "Gem::LyShine" module in Client and Server applications:
ly_create_alias(NAME LyShine.Clients NAMESPACE Gem TARGETS Gem::LyShine)
ly_create_alias(NAME LyShine.Servers NAMESPACE Gem TARGETS Gem::LyShine)
# create an alias for other gems to depend on an LyShine public API (may be converted to a target in the future):
ly_create_alias(NAME LyShine.Clients.API NAMESPACE Gem TARGETS Gem::LyShine.Clients)
ly_create_alias(NAME LyShine.Servers.API NAMESPACE Gem TARGETS Gem::LyShine.Servers)
if (PAL_TRAIT_BUILD_HOST_TOOLS)
ly_add_target(
NAME LyShine.Tools.Static STATIC
NAMESPACE Gem
AUTOMOC
AUTOUIC
AUTORCC
FILES_CMAKE
lyshine_uicanvaseditor_files.cmake
INCLUDE_DIRECTORIES
PRIVATE
.
Source
Editor
Include
BUILD_DEPENDENCIES
PRIVATE
3rdParty::Qt::Core
3rdParty::Qt::Gui
3rdParty::Qt::Widgets
AZ::AzCore
AZ::AzToolsFramework
Legacy::EditorCommon
Legacy::EditorCore
Gem::LyShine.Static
Legacy::CryCommon
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
Gem::AtomToolsFramework.Static
Gem::AtomToolsFramework.Editor
${additional_dependencies}
PUBLIC
Gem::Atom_RPI.Public
Gem::Atom_Utils.Static
Gem::Atom_Bootstrap.Headers
RUNTIME_DEPENDENCIES
Gem::TextureAtlas.Editor
)
ly_add_target(
NAME LyShine.Tools GEM_MODULE
NAMESPACE Gem
FILES_CMAKE
lyshine_common_module_files.cmake
COMPILE_DEFINITIONS
PRIVATE
LYSHINE_EDITOR
INCLUDE_DIRECTORIES
PRIVATE
.
Source
Editor
Include
BUILD_DEPENDENCIES
PRIVATE
Legacy::CryCommon
AZ::AzToolsFramework
Gem::LyShine.Tools.Static
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
RUNTIME_DEPENDENCIES
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
Gem::UiBasics.Tools
)
# by naming this target LyShine.Builders it ensures that it is loaded
# in any pipeline tools (Like Asset Processor, AssetBuilder, etc)
ly_add_target(
NAME LyShine.Builders.Static STATIC
NAMESPACE Gem
FILES_CMAKE
lyshine_editor_builder_files.cmake
INCLUDE_DIRECTORIES
PRIVATE
.
Source
PUBLIC
Include
BUILD_DEPENDENCIES
PRIVATE
AZ::AzCore
AZ::AzToolsFramework
AZ::AssetBuilderSDK
Gem::LyShine.Static
Legacy::CryCommon
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
Gem::AtomToolsFramework.Static
Gem::AtomToolsFramework.Editor
${additional_dependencies}
PUBLIC
Gem::Atom_RPI.Public
Gem::Atom_Utils.Static
Gem::Atom_Bootstrap.Headers
)
ly_add_target(
NAME LyShine.Builders GEM_MODULE
NAMESPACE Gem
FILES_CMAKE
lyshine_common_module_files.cmake
COMPILE_DEFINITIONS
PRIVATE
LYSHINE_BUILDER
INCLUDE_DIRECTORIES
PRIVATE
.
Source
Editor
PUBLIC
Include
BUILD_DEPENDENCIES
PRIVATE
Legacy::CryCommon
AZ::AssetBuilderSDK
Gem::LyShine.Builders.Static
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
RUNTIME_DEPENDENCIES
Gem::UiBasics.Builders
)
endif()
################################################################################
# Tests
################################################################################
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
ly_add_target(
NAME LyShine.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
NAMESPACE Gem
FILES_CMAKE
lyshine_common_module_files.cmake
lyshine_tests_files.cmake
COMPILE_DEFINITIONS
PRIVATE
LYSHINE_TESTS
INCLUDE_DIRECTORIES
PRIVATE
Tests
Source
BUILD_DEPENDENCIES
PRIVATE
AZ::AzTest
Gem::LyShine.Static
Legacy::CryCommon
Gem::LmbrCentral
RUNTIME_DEPENDENCIES
Gem::LmbrCentral
Gem::TextureAtlas
)
ly_add_googletest(
NAME Gem::LyShine.Tests
)
if (PAL_TRAIT_BUILD_HOST_TOOLS)
ly_add_target(
NAME LyShine.Editor.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
NAMESPACE Gem
FILES_CMAKE
lyshine_common_module_files.cmake
lyshine_editor_tests_files.cmake
COMPILE_DEFINITIONS
PRIVATE
LYSHINE_EDITOR
LYSHINE_BUILDER
INCLUDE_DIRECTORIES
PRIVATE
Tests
Source
Editor
Pipeline
.
BUILD_DEPENDENCIES
PRIVATE
AZ::AzTest
Legacy::CryCommon
AZ::AssetBuilderSDK
Gem::LyShine.Tools.Static
Gem::LyShine.Builders.Static
Gem::LmbrCentral.Editor
Gem::TextureAtlas
RUNTIME_DEPENDENCIES
Gem::LmbrCentral.Editor
Gem::TextureAtlas.Editor
)
ly_add_googletest(
NAME Gem::LyShine.Editor.Tests
)
endif()
endif()