Files
o3de/Gems/PhysXDebug/Code/CMakeLists.txt
T
lumberyard-employee-dm 62775add6d Implemented Support to allow project's to reference gems via the gem name (#7109)
* Implemented Support to allow project's to reference gems via the gem name

Updated the enable-gem command to add the name of the enabled gem to the "gem_names" array in the project.json
Updated the enable-gem test to validate this functionality

Centralized the CMake logic for locating external subdirectories to the Subdirectories.cmake script

Added an option to the edit-project-properties and edit-engine-properties o3de.py commands to add/remove/replace the "gem_names" field in the project.json and engine.json respectively

Added a CMake function to determine the root CMake "subdirectory" of any input path which is a parent of it.
This logic has been used to improve the installation of external gems to the <install-root>/External directory.

Tested out the install layout before submitting PR

fixes #7108

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed the enable-gem test on Linux to resolve the mock path.

Renamed all of the o3de python test from "unit_test*.py" to "test*.py" to faciliate the python unittest module picking up the test automatically.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding test for the disable_gem command.

Fixed some typos in engine_properties.py scrip.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-01-26 10:44:35 -06:00

85 lines
2.7 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
#
#
# This gem relies on the PhysX gem
o3de_find_gem("PhysX" physx_gem_path)
set(physx_gem_json ${physx_gem_path}/gem.json)
o3de_restricted_path(${physx_gem_json} physx_gem_restricted_path physx_gem_parent_relative_path)
o3de_pal_dir(physx_pal_source_dir ${physx_gem_path}/Code/Source/Platform/${PAL_PLATFORM_NAME} "${physx_gem_restricted_path}" "${physx_gem_path}" "${physx_gem_parent_relative_path}")
include(${physx_pal_source_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) # for PAL_TRAIT_PHYSX_SUPPORTED
if(PAL_TRAIT_PHYSX_SUPPORTED)
set(physx_dependency 3rdParty::PhysX)
set(physx_files physxdebug_files.cmake)
set(physx_editor_files physxdebug_editor_files.cmake)
else()
set(physx_files physxdebug_unsupported_files.cmake)
set(physx_editor_files physxdebug_unsupported_files.cmake)
endif()
ly_add_target(
NAME PhysXDebug ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
NAMESPACE Gem
OUTPUT_NAME PhysXDebug.Gem
FILES_CMAKE
${physx_files}
INCLUDE_DIRECTORIES
PRIVATE
Source
PUBLIC
Include
BUILD_DEPENDENCIES
PUBLIC
${physx_dependency}
Legacy::CryCommon
Gem::PhysX
Gem::ImGui.imguilib
Gem::ImGui
RUNTIME_DEPENDENCIES
Gem::PhysX
Gem::ImGui
)
# use the PhysXDebug module in Clients and Servers:
ly_create_alias(NAME PhysXDebug.Clients NAMESPACE Gem TARGETS Gem::PhysXDebug)
ly_create_alias(NAME PhysXDebug.Servers NAMESPACE Gem TARGETS Gem::PhysXDebug)
if(PAL_TRAIT_BUILD_HOST_TOOLS)
ly_add_target(
NAME PhysXDebug.Editor GEM_MODULE
NAMESPACE Gem
OUTPUT_NAME PhysXDebug.Editor.Gem
FILES_CMAKE
${physx_editor_files}
COMPILE_DEFINITIONS
PRIVATE
PHYSXDEBUG_GEM_EDITOR
INCLUDE_DIRECTORIES
PRIVATE
Source
PUBLIC
Include
BUILD_DEPENDENCIES
PRIVATE
${physx_dependency}
Legacy::CryCommon
Legacy::Editor.Headers
AZ::AzToolsFramework
Gem::PhysX.Editor
Gem::ImGui.imguilib
Gem::ImGui.Editor
RUNTIME_DEPENDENCIES
Gem::PhysX.Editor
Gem::ImGui.Editor
)
# use the PhysXDebug.Editor module in dev tools:
ly_create_alias(NAME PhysXDebug.Builders NAMESPACE Gem TARGETS Gem::PhysXDebug.Editor)
ly_create_alias(NAME PhysXDebug.Tools NAMESPACE Gem TARGETS Gem::PhysXDebug.Editor)
endif()