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.
85 lines
2.7 KiB
CMake
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()
|