This commit is contained in:
2025-11-28 23:13:44 +05:30
commit a3a8e79709
7360 changed files with 1156074 additions and 0 deletions

View File

@ -0,0 +1,139 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
cmake_minimum_required(VERSION 3.28)
project(PhysX C CXX)
CMAKE_POLICY(SET CMP0057 NEW) # Enable IN_LIST
OPTION(PX_SCALAR_MATH "Disable SIMD math" OFF)
OPTION(PX_GENERATE_STATIC_LIBRARIES "Generate static libraries" OFF)
OPTION(PX_EXPORT_LOWLEVEL_PDB "Export low level pdb's" OFF)
IF(NOT DEFINED PHYSX_ROOT_DIR)
STRING(REPLACE "\\" "/" BRD_TEMP $ENV{PHYSX_ROOT_DIR})
# This env variable is set by GenerateProjects.bat, and is no longer available when CMake rebuilds, so this stores it in the cache
SET(PHYSX_ROOT_DIR ${BRD_TEMP} CACHE INTERNAL "Root of the PhysX source tree")
ENDIF()
MESSAGE("PHYSX ROOT ${PHYSX_ROOT_DIR}")
IF(NOT EXISTS ${PHYSX_ROOT_DIR})
MESSAGE(FATAL_ERROR "PHYSX_ROOT_DIR environment variable wasn't set or was invalid.")
ENDIF()
IF(NOT DEFINED CMAKEMODULES_VERSION)
SET(CMAKEMODULES_PATH $ENV{PM_CMakeModules_PATH} CACHE INTERNAL "Path to CMakeModules")
SET(CMAKEMODULES_NAME $ENV{PM_CMakeModules_NAME} CACHE INTERNAL "CMakeModules name")
SET(CMAKEMODULES_VERSION $ENV{PM_CMakeModules_VERSION} CACHE INTERNAL "CMakeModules version from generation batch")
ENDIF()
#TODO: More elegance
IF(NOT EXISTS ${CMAKEMODULES_PATH})
MESSAGE(FATAL_ERROR "Could not find ${CMAKEMODULES_PATH}")
ENDIF()
SET(CMAKE_MODULE_PATH ${CMAKEMODULES_PATH})
MESSAGE("PhysX Build Platform: " ${TARGET_BUILD_PLATFORM})
MESSAGE("Using CXX Compiler: " ${CMAKE_CXX_COMPILER})
INCLUDE(NvidiaBuildOptions)
IF (NOT EXISTS ${PXSHARED_PATH})
IF (NOT EXISTS $ENV{PM_PxShared_PATH})
MESSAGE(FATAL_ERROR "Trying to set PxShared path, but PM_PxShared_PATH is not valid: '$ENV{PM_PxShared_PATH}'.")
ENDIF()
SET(PXSHARED_PATH_TMP $ENV{PM_PxShared_PATH})
STRING(REPLACE "\\" "/" PXSHARED_PATH_TMP ${PXSHARED_PATH_TMP})
SET(PXSHARED_PATH ${PXSHARED_PATH_TMP} CACHE INTERNAL "Path to PxShared")
STRING(REGEX REPLACE "/PhysX$" "/PxShared" PXSHARED_INSTALL_PREFIX_TMP ${CMAKE_INSTALL_PREFIX})
SET(PXSHARED_INSTALL_PREFIX ${PXSHARED_INSTALL_PREFIX_TMP} CACHE INTERNAL "Path to PxShared")
ENDIF()
IF(CMAKE_CONFIGURATION_TYPES)
SET(CMAKE_CONFIGURATION_TYPES debug checked profile release)
SET(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING
"Reset config to what we need"
FORCE)
SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
# Build PDBs for all configurations
SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")
ENDIF()
# Prevent failure due to command line limitations
IF(USE_RESPONSE_FILES)
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1)
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1)
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
ENDIF()
IF($ENV{PHYSX_AUTOBUILD})
IF($ENV{PHYSX_AUTOBUILD} STREQUAL "1")
SET(PHYSX_AUTOBUILD "PHYSX_AUTOBUILD")
ENDIF()
ENDIF()
SET(PROJECT_CMAKE_FILES_DIR source/compiler/cmake)
SET(PLATFORM_CMAKELISTS ${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/CMakeLists.txt)
IF(NOT EXISTS ${PLATFORM_CMAKELISTS})
MESSAGE(FATAL_ERROR "Unable to find platform CMakeLists.txt for ${TARGET_BUILD_PLATFORM} at ${PLATFORM_CMAKELISTS}")
ENDIF()
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
SET(SOURCE_DISTRO_FILE_LIST "")
SET(HEADER_GUARD_NAME "CONFIG")
SET(HEADER_CONTENT "")
# Include the platform specific CMakeLists
INCLUDE(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/CMakeLists.txt)
# generate PxPhysXConfig.h header that will contain PhysX configuration defines like PX_PHYSX_STATIC_LIB
CONFIGURE_FILE(${CMAKE_MODULE_PATH}/template/PxIncludeTemplate.h ${PHYSX_ROOT_DIR}/include/PxConfig.h)
IF(PX_GENERATE_SOURCE_DISTRO)
FOREACH(FILE_NAME ${SOURCE_DISTRO_FILE_LIST})
FILE(APPEND "${CMAKE_CURRENT_BINARY_DIR}/source_distro_list.txt" "${FILE_NAME}\n")
ENDFOREACH()
ENDIF()

View File

@ -0,0 +1,94 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/fastxml)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/FastXml.cmake)
SET(FASTXML_HEADERS
${LL_SOURCE_DIR}/include/PsFastXml.h
)
SOURCE_GROUP(include FILES ${FASTXML_HEADERS})
SET(FASTXML_SOURCE
${LL_SOURCE_DIR}/src/PsFastXml.cpp
)
SOURCE_GROUP(src FILES ${FASTXML_SOURCE})
ADD_LIBRARY(FastXml ${FASTXML_LIBTYPE}
${FASTXML_HEADERS}
${FASTXML_SOURCE}
)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(FastXml
PRIVATE ${PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${LL_SOURCE_DIR}/include
)
TARGET_COMPILE_DEFINITIONS(FastXml
PRIVATE ${FASTXML_COMPILE_DEFS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND FASTXML_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(FastXml PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "FastXml_static"
ARCHIVE_OUTPUT_NAME_CHECKED "FastXml_static"
ARCHIVE_OUTPUT_NAME_PROFILE "FastXml_static"
ARCHIVE_OUTPUT_NAME_RELEASE "FastXml_static"
)
ENDIF()
IF(FASTXML_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(FastXml PROPERTIES
COMPILE_PDB_NAME_DEBUG "${FASTXML_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${FASTXML_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${FASTXML_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${FASTXML_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
INSTALL(FILES ${FASTXML_HEADERS} DESTINATION source/fastxml/include)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${FASTXML_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${FASTXML_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(FastXml PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,226 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/lowlevel)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/LowLevel.cmake)
SET(LL_API_DIR ${LL_SOURCE_DIR}/api/)
SET(LL_API_HEADERS
${LL_API_DIR}/include/PxsMaterialCore.h
${LL_API_DIR}/include/PxsMaterialManager.h
${LL_API_DIR}/include/PxvConfig.h
${LL_API_DIR}/include/PxvDynamics.h
${LL_API_DIR}/include/PxvGeometry.h
${LL_API_DIR}/include/PxvGlobals.h
${LL_API_DIR}/include/PxvManager.h
${LL_API_DIR}/include/PxvSimStats.h
)
SOURCE_GROUP("API Includes" FILES ${LL_API_HEADERS})
SET(LL_API_SOURCE
${LL_API_DIR}/src/px_globals.cpp
)
SOURCE_GROUP("API Source" FILES ${LL_API_SOURCE})
SET(LL_COMMON_DIR ${LL_SOURCE_DIR}/common/)
SET(LL_COMMON_COLLISION_HEADERS
${LL_COMMON_DIR}/include/collision/PxcContactMethodImpl.h
)
SOURCE_GROUP("Common Includes\\collision" FILES ${LL_COMMON_COLLISION_HEADERS})
SET(LL_COMMON_PIPELINE_HEADERS
${LL_COMMON_DIR}/include/pipeline/PxcConstraintBlockStream.h
${LL_COMMON_DIR}/include/pipeline/PxcContactCache.h
${LL_COMMON_DIR}/include/pipeline/PxcMaterialMethodImpl.h
${LL_COMMON_DIR}/include/pipeline/PxcNpBatch.h
${LL_COMMON_DIR}/include/pipeline/PxcNpCache.h
${LL_COMMON_DIR}/include/pipeline/PxcNpCacheStreamPair.h
${LL_COMMON_DIR}/include/pipeline/PxcNpContactPrepShared.h
${LL_COMMON_DIR}/include/pipeline/PxcNpMemBlockPool.h
${LL_COMMON_DIR}/include/pipeline/PxcNpThreadContext.h
${LL_COMMON_DIR}/include/pipeline/PxcNpWorkUnit.h
)
SOURCE_GROUP("Common Includes\\pipeline" FILES ${LL_COMMON_PIPELINE_HEADERS})
SET(LL_COMMON_UTILS_HEADERS
${LL_COMMON_DIR}/include/utils/PxcScratchAllocator.h
${LL_COMMON_DIR}/include/utils/PxcThreadCoherentCache.h
)
SOURCE_GROUP("Common Includes\\utils" FILES ${LL_COMMON_UTILS_HEADERS})
SET(LL_COMMON_PIPELINE_SOURCE
${LL_COMMON_DIR}/src/pipeline/PxcContactCache.cpp
${LL_COMMON_DIR}/src/pipeline/PxcContactMethodImpl.cpp
${LL_COMMON_DIR}/src/pipeline/PxcMaterialHeightField.cpp
${LL_COMMON_DIR}/src/pipeline/PxcMaterialMesh.cpp
${LL_COMMON_DIR}/src/pipeline/PxcMaterialMethodImpl.cpp
${LL_COMMON_DIR}/src/pipeline/PxcMaterialShape.cpp
${LL_COMMON_DIR}/src/pipeline/PxcNpBatch.cpp
${LL_COMMON_DIR}/src/pipeline/PxcNpCacheStreamPair.cpp
${LL_COMMON_DIR}/src/pipeline/PxcNpContactPrepShared.cpp
${LL_COMMON_DIR}/src/pipeline/PxcNpMemBlockPool.cpp
${LL_COMMON_DIR}/src/pipeline/PxcNpThreadContext.cpp
)
SOURCE_GROUP("Common Source\\pipeline" FILES ${LL_COMMON_PIPELINE_SOURCE})
SET(LL_SOFTWARE_DIR ${LL_SOURCE_DIR}/software/)
SET(LL_SOFTWARE_HEADERS
${LL_SOFTWARE_DIR}/include/PxsBodySim.h
${LL_SOFTWARE_DIR}/include/PxsCCD.h
${LL_SOFTWARE_DIR}/include/PxsContactManager.h
${LL_SOFTWARE_DIR}/include/PxsContactManagerState.h
${LL_SOFTWARE_DIR}/include/PxsContext.h
${LL_SOFTWARE_DIR}/include/PxsDefaultMemoryManager.h
${LL_SOFTWARE_DIR}/include/PxsHeapMemoryAllocator.h
${LL_SOFTWARE_DIR}/include/PxsIncrementalConstraintPartitioning.h
${LL_SOFTWARE_DIR}/include/PxsIslandManagerTypes.h
${LL_SOFTWARE_DIR}/include/PxsIslandSim.h
${LL_SOFTWARE_DIR}/include/PxsIslandNodeIndex.h
${LL_SOFTWARE_DIR}/include/PxsKernelWrangler.h
${LL_SOFTWARE_DIR}/include/PxsMaterialCombiner.h
${LL_SOFTWARE_DIR}/include/PxsMemoryManager.h
${LL_SOFTWARE_DIR}/include/PxsNphaseImplementationContext.h
${LL_SOFTWARE_DIR}/include/PxsRigidBody.h
${LL_SOFTWARE_DIR}/include/PxsShapeSim.h
${LL_SOFTWARE_DIR}/include/PxsSimpleIslandManager.h
${LL_SOFTWARE_DIR}/include/PxsSimulationController.h
${LL_SOFTWARE_DIR}/include/PxsTransformCache.h
${LL_SOFTWARE_DIR}/include/PxvNphaseImplementationContext.h
)
SOURCE_GROUP("Software Includes" FILES ${LL_SOFTWARE_HEADERS})
SET(LL_SOFTWARE_SOURCE
${LL_SOFTWARE_DIR}/src/PxsCCD.cpp
${LL_SOFTWARE_DIR}/src/PxsContactManager.cpp
${LL_SOFTWARE_DIR}/src/PxsContext.cpp
${LL_SOFTWARE_DIR}/src/PxsDefaultMemoryManager.cpp
${LL_SOFTWARE_DIR}/src/PxsIslandSim.cpp
${LL_SOFTWARE_DIR}/src/PxsMaterialCombiner.cpp
${LL_SOFTWARE_DIR}/src/PxsNphaseImplementationContext.cpp
${LL_SOFTWARE_DIR}/src/PxsSimpleIslandManager.cpp
)
SOURCE_GROUP("Software Source" FILES ${LL_SOFTWARE_SOURCE})
ADD_LIBRARY(LowLevel ${LOWLEVEL_LIBTYPE}
${LL_API_HEADERS}
${LL_API_SOURCE}
${LL_COMMON_COLLISION_HEADERS}
${LL_COMMON_COLLISION_SOURCE}
${LL_COMMON_PIPELINE_HEADERS}
${LL_COMMON_PIPELINE_SOURCE}
${LL_COMMON_UTILS_HEADERS}
${LL_SOFTWARE_HEADERS}
${LL_SOFTWARE_SOURCE}
)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(LowLevel
PRIVATE ${LOWLEVEL_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/collision
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/utils
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/software/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowleveldynamics/include
)
TARGET_COMPILE_DEFINITIONS(LowLevel
PRIVATE ${LOWLEVEL_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(LowLevel PROPERTIES
LINK_FLAGS ${LOWLEVEL_PLATFORM_LINK_FLAGS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS)
SET_TARGET_PROPERTIES(LowLevel PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "LowLevel_static"
ARCHIVE_OUTPUT_NAME_CHECKED "LowLevel_static"
ARCHIVE_OUTPUT_NAME_PROFILE "LowLevel_static"
ARCHIVE_OUTPUT_NAME_RELEASE "LowLevel_static"
)
ENDIF()
IF(LOWLEVEL_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(LowLevel PROPERTIES
COMPILE_PDB_NAME_DEBUG "${LOWLEVEL_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${LOWLEVEL_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${LOWLEVEL_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${LOWLEVEL_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_SOFTWARE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_SOFTWARE_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_API_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_API_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_COMMON_COLLISION_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_COMMON_COLLISION_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_COMMON_PIPELINE_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_COMMON_PIPELINE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LL_COMMON_UTILS_HEADERS})
ENDIF()
SET_TARGET_PROPERTIES(LowLevel PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,128 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LLAABB_DIR ${PHYSX_SOURCE_DIR}/lowlevelaabb)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/LowLevelAABB.cmake)
SET(LLAABB_HEADERS
${LLAABB_DIR}/include/BpAABBManager.h
${LLAABB_DIR}/include/BpAABBManagerTasks.h
${LLAABB_DIR}/include/BpBroadPhase.h
${LLAABB_DIR}/include/BpBroadPhaseUpdate.h
)
SOURCE_GROUP("includes" FILES ${LLAABB_HEADERS})
SET(LLAABB_SOURCE
${LLAABB_DIR}/src/BpAABBManager.cpp
${LLAABB_DIR}/src/BpBroadPhase.cpp
${LLAABB_DIR}/src/BpBroadPhaseABP.cpp
${LLAABB_DIR}/src/BpBroadPhaseABP.h
${LLAABB_DIR}/src/BpBroadPhaseMBP.cpp
${LLAABB_DIR}/src/BpBroadPhaseMBP.h
${LLAABB_DIR}/src/BpBroadPhaseMBPCommon.h
${LLAABB_DIR}/src/BpBroadPhaseSap.cpp
${LLAABB_DIR}/src/BpBroadPhaseSap.h
${LLAABB_DIR}/src/BpBroadPhaseSapAux.cpp
${LLAABB_DIR}/src/BpBroadPhaseSapAux.h
${LLAABB_DIR}/src/BpBroadPhaseShared.cpp
${LLAABB_DIR}/src/BpBroadPhaseShared.h
${LLAABB_DIR}/src/BpMBPTasks.cpp
${LLAABB_DIR}/src/BpMBPTasks.h
${LLAABB_DIR}/src/BpSAPTasks.cpp
${LLAABB_DIR}/src/BpSAPTasks.h
)
SOURCE_GROUP("src" FILES ${LLAABB_SOURCE})
ADD_LIBRARY(LowLevelAABB ${LOWLEVELAABB_LIBTYPE}
${LLAABB_HEADERS}
${LLAABB_SOURCE}
)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(LowLevelAABB
PRIVATE ${LOWLEVELAABB_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/utils
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevelaabb/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevelaabb/src
)
TARGET_COMPILE_DEFINITIONS(LowLevelAABB
PRIVATE ${LOWLEVELAABB_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(LowLevelAABB PROPERTIES
LINK_FLAGS ${LOWLEVELAABB_PLATFORM_LINK_FLAGS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS)
SET_TARGET_PROPERTIES(LowLevelAABB PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "LowLevelAABB_static"
ARCHIVE_OUTPUT_NAME_CHECKED "LowLevelAABB_static"
ARCHIVE_OUTPUT_NAME_PROFILE "LowLevelAABB_static"
ARCHIVE_OUTPUT_NAME_RELEASE "LowLevelAABB_static"
)
ENDIF()
IF(LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(LowLevelAABB PROPERTIES
COMPILE_PDB_NAME_DEBUG "${LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${LOWLEVELAABB_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${LOWLEVELAABB_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${LOWLEVELAABB_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LLAABB_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LLAABB_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(LowLevelAABB PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,198 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/lowleveldynamics/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/LowLevelDynamics.cmake)
SET(LLDYNAMICS_BASE_DIR ${PHYSX_ROOT_DIR}/source/lowleveldynamics)
SET(LLDYNAMICS_INCLUDES
${LLDYNAMICS_BASE_DIR}/include/DyArticulationCore.h
${LLDYNAMICS_BASE_DIR}/include/DyVArticulation.h
${LLDYNAMICS_BASE_DIR}/include/DyArticulation.h
${LLDYNAMICS_BASE_DIR}/include/DyFeatherstoneArticulation.h
${LLDYNAMICS_BASE_DIR}/include/DyFeatherstoneArticulationJointData.h
${LLDYNAMICS_BASE_DIR}/include/DyFeatherstoneArticulationUtils.h
${LLDYNAMICS_BASE_DIR}/include/DyConstraint.h
${LLDYNAMICS_BASE_DIR}/include/DyConstraintWriteBack.h
${LLDYNAMICS_BASE_DIR}/include/DyContext.h
${LLDYNAMICS_BASE_DIR}/include/DySleepingConfigulation.h
${LLDYNAMICS_BASE_DIR}/include/DyThresholdTable.h
${LLDYNAMICS_BASE_DIR}/include/DyArticulationJointCore.h
)
SOURCE_GROUP("Dynamics Includes" FILES ${LLDYNAMICS_INCLUDES})
SET(LLDYNAMICS_SOURCE
${LLDYNAMICS_BASE_DIR}/src/DyArticulation.cpp
${LLDYNAMICS_BASE_DIR}/src/DyArticulationContactPrep.cpp
${LLDYNAMICS_BASE_DIR}/src/DyArticulationContactPrepPF.cpp
${LLDYNAMICS_BASE_DIR}/src/DyArticulationHelper.cpp
${LLDYNAMICS_BASE_DIR}/src/DyArticulationScalar.cpp
${LLDYNAMICS_BASE_DIR}/src/DyArticulationSIMD.cpp
${LLDYNAMICS_BASE_DIR}/src/DyFeatherstoneArticulation.cpp
${LLDYNAMICS_BASE_DIR}/src/DyFeatherstoneForwardDynamic.cpp
${LLDYNAMICS_BASE_DIR}/src/DyFeatherstoneInverseDynamic.cpp
${LLDYNAMICS_BASE_DIR}/src/DyConstraintPartition.cpp
${LLDYNAMICS_BASE_DIR}/src/DyConstraintSetup.cpp
${LLDYNAMICS_BASE_DIR}/src/DyConstraintSetupBlock.cpp
${LLDYNAMICS_BASE_DIR}/src/DyContactPrep.cpp
${LLDYNAMICS_BASE_DIR}/src/DyContactPrep4.cpp
${LLDYNAMICS_BASE_DIR}/src/DyContactPrep4PF.cpp
${LLDYNAMICS_BASE_DIR}/src/DyContactPrepPF.cpp
${LLDYNAMICS_BASE_DIR}/src/DyDynamics.cpp
${LLDYNAMICS_BASE_DIR}/src/DyFrictionCorrelation.cpp
${LLDYNAMICS_BASE_DIR}/src/DyRigidBodyToSolverBody.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraints.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraintsBlock.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverControl.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverControlPF.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverPFConstraints.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverPFConstraintsBlock.cpp
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraint1DStep.h
${LLDYNAMICS_BASE_DIR}/src/DyThreadContext.cpp
${LLDYNAMICS_BASE_DIR}/src/DyThresholdTable.cpp
${LLDYNAMICS_BASE_DIR}/src/DyTGSDynamics.cpp
${LLDYNAMICS_BASE_DIR}/src/DyTGSContactPrep.cpp
${LLDYNAMICS_BASE_DIR}/src/DyTGSContactPrepBlock.cpp
)
SOURCE_GROUP("Dynamics Source" FILES ${LLDYNAMICS_SOURCE})
SET(LLDYNAMICS_INTERNAL_INCLUDES
${LLDYNAMICS_BASE_DIR}/src/DyArticulationContactPrep.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationFnsDebug.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationFnsScalar.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationFnsSimd.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationHelper.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationPImpl.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationReference.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationScalar.h
${LLDYNAMICS_BASE_DIR}/src/DyArticulationUtils.h
${LLDYNAMICS_BASE_DIR}/src/DyFeatherstoneArticulationLink.h
${LLDYNAMICS_BASE_DIR}/src/DyBodyCoreIntegrator.h
${LLDYNAMICS_BASE_DIR}/src/DyConstraintPartition.h
${LLDYNAMICS_BASE_DIR}/src/DyConstraintPrep.h
${LLDYNAMICS_BASE_DIR}/src/DyContactPrep.h
${LLDYNAMICS_BASE_DIR}/src/DyContactPrepShared.h
${LLDYNAMICS_BASE_DIR}/src/DyContactReduction.h
${LLDYNAMICS_BASE_DIR}/src/DyCorrelationBuffer.h
${LLDYNAMICS_BASE_DIR}/src/DyDynamics.h
${LLDYNAMICS_BASE_DIR}/src/DyFrictionPatch.h
${LLDYNAMICS_BASE_DIR}/src/DyFrictionPatchStreamPair.h
${LLDYNAMICS_BASE_DIR}/src/DySolverBody.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraint1D.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraint1D4.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraintDesc.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraintExtShared.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraintsShared.h
${LLDYNAMICS_BASE_DIR}/src/DySolverConstraintTypes.h
${LLDYNAMICS_BASE_DIR}/src/DySolverContact.h
${LLDYNAMICS_BASE_DIR}/src/DySolverContact4.h
${LLDYNAMICS_BASE_DIR}/src/DySolverContactPF.h
${LLDYNAMICS_BASE_DIR}/src/DySolverContactPF4.h
${LLDYNAMICS_BASE_DIR}/src/DySolverContext.h
${LLDYNAMICS_BASE_DIR}/src/DySolverControl.h
${LLDYNAMICS_BASE_DIR}/src/DySolverControlPF.h
${LLDYNAMICS_BASE_DIR}/src/DySolverCore.h
${LLDYNAMICS_BASE_DIR}/src/DySolverExt.h
${LLDYNAMICS_BASE_DIR}/src/DySpatial.h
${LLDYNAMICS_BASE_DIR}/src/DyThreadContext.h
${LLDYNAMICS_BASE_DIR}/src/DyTGSDynamics.h
${LLDYNAMICS_BASE_DIR}/src/DyTGSContactPrep.h
)
SOURCE_GROUP("Dynamics Internal Includes" FILES ${LLDYNAMICS_INTERNAL_INCLUDES})
ADD_LIBRARY(LowLevelDynamics ${LOWLEVELDYNAMICS_LIBTYPE}
${LLDYNAMICS_INCLUDES}
${LLDYNAMICS_SOURCE}
${LLDYNAMICS_INTERNAL_INCLUDES}
)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(LowLevelDynamics
PRIVATE ${LOWLEVELDYNAMICS_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/utils
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/software/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowleveldynamics/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowleveldynamics/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
)
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(LowLevelDynamics
# Common to all configurations
PRIVATE ${LOWLEVELDYNAMICS_COMPILE_DEFS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS)
SET_TARGET_PROPERTIES(LowLevelDynamics PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "LowLevelDynamics_static"
ARCHIVE_OUTPUT_NAME_CHECKED "LowLevelDynamics_static"
ARCHIVE_OUTPUT_NAME_PROFILE "LowLevelDynamics_static"
ARCHIVE_OUTPUT_NAME_RELEASE "LowLevelDynamics_static"
)
ENDIF()
IF(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(LowLevelDynamics PROPERTIES
COMPILE_PDB_NAME_DEBUG "${LOWLEVELDYNAMICS_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${LOWLEVELDYNAMICS_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${LOWLEVELDYNAMICS_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${LOWLEVELDYNAMICS_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LLDYNAMICS_INCLUDES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LLDYNAMICS_INTERNAL_INCLUDES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${LLDYNAMICS_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(LowLevelDynamics PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,377 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION) common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(PX_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physx/src)
SET(MD_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physxmetadata)
SET(PHYSX_PLATFORM_LINK_FLAGS " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_DEBUG " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_CHECKED " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_PROFILE " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_RELEASE " ")
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysX.cmake)
SET(PHYSX_HEADERS
${PHYSX_ROOT_DIR}/include/PxActor.h
${PHYSX_ROOT_DIR}/include/PxAggregate.h
${PHYSX_ROOT_DIR}/include/PxArticulationReducedCoordinate.h
${PHYSX_ROOT_DIR}/include/PxArticulationBase.h
${PHYSX_ROOT_DIR}/include/PxArticulation.h
${PHYSX_ROOT_DIR}/include/PxArticulationJoint.h
${PHYSX_ROOT_DIR}/include/PxArticulationJointReducedCoordinate.h
${PHYSX_ROOT_DIR}/include/PxArticulationLink.h
${PHYSX_ROOT_DIR}/include/PxBatchQuery.h
${PHYSX_ROOT_DIR}/include/PxBatchQueryDesc.h
${PHYSX_ROOT_DIR}/include/PxBroadPhase.h
${PHYSX_ROOT_DIR}/include/PxClient.h
${PHYSX_ROOT_DIR}/include/PxConstraint.h
${PHYSX_ROOT_DIR}/include/PxConstraintDesc.h
${PHYSX_ROOT_DIR}/include/PxContact.h
${PHYSX_ROOT_DIR}/include/PxContactModifyCallback.h
${PHYSX_ROOT_DIR}/include/PxDeletionListener.h
${PHYSX_ROOT_DIR}/include/PxFiltering.h
${PHYSX_ROOT_DIR}/include/PxForceMode.h
${PHYSX_ROOT_DIR}/include/PxImmediateMode.h
${PHYSX_ROOT_DIR}/include/PxLockedData.h
${PHYSX_ROOT_DIR}/include/PxMaterial.h
${PHYSX_ROOT_DIR}/include/PxPhysics.h
${PHYSX_ROOT_DIR}/include/PxPhysicsAPI.h
${PHYSX_ROOT_DIR}/include/PxPhysicsSerialization.h
${PHYSX_ROOT_DIR}/include/PxPhysicsVersion.h
${PHYSX_ROOT_DIR}/include/PxPhysXConfig.h
${PHYSX_ROOT_DIR}/include/PxPruningStructure.h
${PHYSX_ROOT_DIR}/include/PxQueryFiltering.h
${PHYSX_ROOT_DIR}/include/PxQueryReport.h
${PHYSX_ROOT_DIR}/include/PxRigidActor.h
${PHYSX_ROOT_DIR}/include/PxRigidBody.h
${PHYSX_ROOT_DIR}/include/PxRigidDynamic.h
${PHYSX_ROOT_DIR}/include/PxRigidStatic.h
${PHYSX_ROOT_DIR}/include/PxScene.h
${PHYSX_ROOT_DIR}/include/PxSceneDesc.h
${PHYSX_ROOT_DIR}/include/PxSceneLock.h
${PHYSX_ROOT_DIR}/include/PxShape.h
${PHYSX_ROOT_DIR}/include/PxSimulationEventCallback.h
${PHYSX_ROOT_DIR}/include/PxSimulationStatistics.h
${PHYSX_ROOT_DIR}/include/PxVisualizationParameter.h
)
SOURCE_GROUP(include FILES ${PHYSX_HEADERS})
SET(PHYSX_COMMON_HEADERS
${PHYSX_ROOT_DIR}/include/common/PxBase.h
${PHYSX_ROOT_DIR}/include/common/PxCollection.h
${PHYSX_ROOT_DIR}/include/common/PxCoreUtilityTypes.h
${PHYSX_ROOT_DIR}/include/common/PxMetaData.h
${PHYSX_ROOT_DIR}/include/common/PxMetaDataFlags.h
${PHYSX_ROOT_DIR}/include/common/PxPhysicsInsertionCallback.h
${PHYSX_ROOT_DIR}/include/common/PxPhysXCommonConfig.h
${PHYSX_ROOT_DIR}/include/common/PxRenderBuffer.h
${PHYSX_ROOT_DIR}/include/common/PxSerialFramework.h
${PHYSX_ROOT_DIR}/include/common/PxSerializer.h
${PHYSX_ROOT_DIR}/include/common/PxStringTable.h
${PHYSX_ROOT_DIR}/include/common/PxTolerancesScale.h
${PHYSX_ROOT_DIR}/include/common/PxTypeInfo.h
${PHYSX_ROOT_DIR}/include/common/PxProfileZone.h
)
SOURCE_GROUP(include\\common FILES ${PHYSX_COMMON_HEADERS})
SET(PHYSX_PVD_HEADERS
${PHYSX_ROOT_DIR}/include/pvd/PxPvdSceneClient.h
${PHYSX_ROOT_DIR}/include/pvd/PxPvd.h
${PHYSX_ROOT_DIR}/include/pvd/PxPvdTransport.h
)
SOURCE_GROUP(include\\pvd FILES ${PHYSX_PVD_HEADERS})
SET(PHYSX_COLLISION_HEADERS
${PHYSX_ROOT_DIR}/include/collision/PxCollisionDefs.h
)
SOURCE_GROUP(include\\collision FILES ${PHYSX_COLLISION_HEADERS})
SET(PHYSX_SOLVER_HEADERS
${PHYSX_ROOT_DIR}/include/solver/PxSolverDefs.h
)
SOURCE_GROUP(include\\collision FILES ${PHYSX_SOLVER_HEADERS})
SET(PHYSX_METADATA_HEADERS
${MD_SOURCE_DIR}/core/include/PvdMetaDataDefineProperties.h
${MD_SOURCE_DIR}/core/include/PvdMetaDataExtensions.h
${MD_SOURCE_DIR}/core/include/PvdMetaDataPropertyVisitor.h
${MD_SOURCE_DIR}/core/include/PxAutoGeneratedMetaDataObjectNames.h
${MD_SOURCE_DIR}/core/include/PxAutoGeneratedMetaDataObjects.h
${MD_SOURCE_DIR}/core/include/PxMetaDataCompare.h
${MD_SOURCE_DIR}/core/include/PxMetaDataCppPrefix.h
${MD_SOURCE_DIR}/core/include/PxMetaDataObjects.h
${MD_SOURCE_DIR}/core/include/RepXMetaDataPropertyVisitor.h
)
SOURCE_GROUP(metadata\\include FILES ${PHYSX_METADATA_HEADERS})
SET(PHYSX_METADATA_SOURCE
${MD_SOURCE_DIR}/core/src/PxAutoGeneratedMetaDataObjects.cpp
${MD_SOURCE_DIR}/core/src/PxMetaDataObjects.cpp
)
SOURCE_GROUP(metadata\\src FILES ${PHYSX_METADATA_SOURCE})
SET(PHYSX_IMMEDIATEMODE_SOURCE
${PHYSX_ROOT_DIR}/source/immediatemode/src/NpImmediateMode.cpp
)
SOURCE_GROUP(src\\immediatemode FILES ${PHYSX_IMMEDIATEMODE_SOURCE})
SET(PHYSX_BUFFERING_SOURCE
${PX_SOURCE_DIR}/buffering/ScbActor.cpp
${PX_SOURCE_DIR}/buffering/ScbAggregate.cpp
${PX_SOURCE_DIR}/buffering/ScbBase.cpp
${PX_SOURCE_DIR}/buffering/ScbMetaData.cpp
${PX_SOURCE_DIR}/buffering/ScbScene.cpp
${PX_SOURCE_DIR}/buffering/ScbScenePvdClient.cpp
${PX_SOURCE_DIR}/buffering/ScbShape.cpp
${PX_SOURCE_DIR}/buffering/ScbActor.h
${PX_SOURCE_DIR}/buffering/ScbAggregate.h
${PX_SOURCE_DIR}/buffering/ScbArticulation.h
${PX_SOURCE_DIR}/buffering/ScbArticulationJoint.h
${PX_SOURCE_DIR}/buffering/ScbBase.h
${PX_SOURCE_DIR}/buffering/ScbBody.h
${PX_SOURCE_DIR}/buffering/ScbConstraint.h
${PX_SOURCE_DIR}/buffering/ScbDefs.h
${PX_SOURCE_DIR}/buffering/ScbNpDeps.h
${PX_SOURCE_DIR}/buffering/ScbRigidObject.h
${PX_SOURCE_DIR}/buffering/ScbRigidStatic.h
${PX_SOURCE_DIR}/buffering/ScbScene.h
${PX_SOURCE_DIR}/buffering/ScbSceneBuffer.h
${PX_SOURCE_DIR}/buffering/ScbScenePvdClient.h
${PX_SOURCE_DIR}/buffering/ScbShape.h
${PX_SOURCE_DIR}/buffering/ScbType.h
)
SOURCE_GROUP(src\\buffering FILES ${PHYSX_BUFFERING_SOURCE})
SET(PHYSX_CORE_SOURCE
${PX_SOURCE_DIR}/NpActor.cpp
${PX_SOURCE_DIR}/NpAggregate.cpp
${PX_SOURCE_DIR}/NpArticulationReducedCoordinate.cpp
${PX_SOURCE_DIR}/NpArticulation.cpp
${PX_SOURCE_DIR}/NpArticulationJoint.cpp
${PX_SOURCE_DIR}/NpArticulationJointReducedCoordinate.cpp
${PX_SOURCE_DIR}/NpArticulationLink.cpp
${PX_SOURCE_DIR}/NpBatchQuery.cpp
${PX_SOURCE_DIR}/NpConstraint.cpp
${PX_SOURCE_DIR}/NpFactory.cpp
${PX_SOURCE_DIR}/NpMaterial.cpp
${PX_SOURCE_DIR}/NpMetaData.cpp
${PX_SOURCE_DIR}/NpPhysics.cpp
${PX_SOURCE_DIR}/NpPvdSceneQueryCollector.cpp
${PX_SOURCE_DIR}/NpReadCheck.cpp
${PX_SOURCE_DIR}/NpRigidDynamic.cpp
${PX_SOURCE_DIR}/NpRigidStatic.cpp
${PX_SOURCE_DIR}/NpScene.cpp
${PX_SOURCE_DIR}/NpSceneQueries.cpp
${PX_SOURCE_DIR}/NpSerializerAdapter.cpp
${PX_SOURCE_DIR}/NpShape.cpp
${PX_SOURCE_DIR}/NpShapeManager.cpp
${PX_SOURCE_DIR}/NpWriteCheck.cpp
${PX_SOURCE_DIR}/PvdMetaDataPvdBinding.cpp
${PX_SOURCE_DIR}/PvdPhysicsClient.cpp
${PX_SOURCE_DIR}/NpActor.h
${PX_SOURCE_DIR}/NpActorTemplate.h
${PX_SOURCE_DIR}/NpAggregate.h
${PX_SOURCE_DIR}/NpArticulationReducedCoordinate.h
${PX_SOURCE_DIR}/NpArticulation.h
${PX_SOURCE_DIR}/NpArticulationJoint.h
${PX_SOURCE_DIR}/NpArticulationJointReducedCoordinate.h
${PX_SOURCE_DIR}/NpArticulationLink.h
${PX_SOURCE_DIR}/NpArticulationTemplate.h
${PX_SOURCE_DIR}/NpBatchQuery.h
${PX_SOURCE_DIR}/NpCast.h
${PX_SOURCE_DIR}/NpConnector.h
${PX_SOURCE_DIR}/NpConstraint.h
${PX_SOURCE_DIR}/NpFactory.h
${PX_SOURCE_DIR}/NpMaterial.h
${PX_SOURCE_DIR}/NpMaterialManager.h
${PX_SOURCE_DIR}/NpPhysics.h
${PX_SOURCE_DIR}/NpPhysicsInsertionCallback.h
${PX_SOURCE_DIR}/NpPtrTableStorageManager.h
${PX_SOURCE_DIR}/NpPvdSceneQueryCollector.h
${PX_SOURCE_DIR}/NpQueryShared.h
${PX_SOURCE_DIR}/NpReadCheck.h
${PX_SOURCE_DIR}/NpRigidActorTemplate.h
${PX_SOURCE_DIR}/NpRigidActorTemplateInternal.h
${PX_SOURCE_DIR}/NpRigidBodyTemplate.h
${PX_SOURCE_DIR}/NpRigidDynamic.h
${PX_SOURCE_DIR}/NpRigidStatic.h
${PX_SOURCE_DIR}/NpScene.h
${PX_SOURCE_DIR}/NpSceneQueries.h
${PX_SOURCE_DIR}/NpSceneAccessor.h
${PX_SOURCE_DIR}/NpShape.h
${PX_SOURCE_DIR}/NpShapeManager.h
${PX_SOURCE_DIR}/NpWriteCheck.h
${PX_SOURCE_DIR}/PvdMetaDataBindingData.h
${PX_SOURCE_DIR}/PvdMetaDataPvdBinding.h
${PX_SOURCE_DIR}/PvdPhysicsClient.h
${PX_SOURCE_DIR}/PvdTypeNames.h
)
SOURCE_GROUP(src FILES ${PHYSX_CORE_SOURCE})
ADD_LIBRARY(PhysX ${PHYSX_LIBTYPE}
${PHYSX_HEADERS}
${PHYSX_COMMON_HEADERS}
${PHYSX_PVD_HEADERS}
${PHYSX_SOLVER_HEADERS}
${PHYSX_METADATA_HEADERS}
${PHYSX_METADATA_SOURCE}
${PHYSX_CORE_SOURCE}
${PHYSX_BUFFERING_SOURCE}
${PHYSX_IMMEDIATEMODE_SOURCE}
${PHYSX_PLATFORM_SRC_FILES}
)
# Add the headers to the install
INSTALL(FILES ${PHYSX_HEADERS} DESTINATION include)
INSTALL(FILES ${PHYSX_COMMON_HEADERS} DESTINATION include/common)
INSTALL(FILES ${PHYSX_PVD_HEADERS} DESTINATION include/pvd)
INSTALL(FILES ${PHYSX_COLLISION_HEADERS} DESTINATION include/collision)
INSTALL(FILES ${PHYSX_SOLVER_HEADERS} DESTINATION include/solver)
# install the custom config file
INSTALL(FILES ${PHYSX_ROOT_DIR}/include/PxConfig.h DESTINATION include)
TARGET_INCLUDE_DIRECTORIES(PhysX
PRIVATE ${PHYSX_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src/device
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src/buffering
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/software/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevelaabb/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowleveldynamics/include
PRIVATE ${PHYSX_SOURCE_DIR}/simulationcontroller/include
PRIVATE ${PHYSX_SOURCE_DIR}/simulationcontroller/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/scenequery/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxmetadata/core/include
PRIVATE ${PHYSX_SOURCE_DIR}/immediatemode/include
PRIVATE ${PHYSX_SOURCE_DIR}/pvd/include
)
TARGET_COMPILE_DEFINITIONS(PhysX
# Common to all configurations
PRIVATE ${PHYSX_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysX PROPERTIES
OUTPUT_NAME PhysX
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSX_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysX PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysX_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysX_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysX_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysX_static"
)
ENDIF()
IF(PHYSX_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysX PROPERTIES
COMPILE_PDB_NAME_DEBUG "${PHYSX_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${PHYSX_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${PHYSX_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${PHYSX_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
TARGET_LINK_LIBRARIES(PhysX
PRIVATE ${PHYSX_PRIVATE_PLATFORM_LINKED_LIBS}
PRIVATE PhysXPvdSDK PhysXCommon PhysXFoundation
PUBLIC ${PHYSX_PLATFORM_LINKED_LIBS}
)
SET_TARGET_PROPERTIES(PhysX PROPERTIES
LINK_FLAGS "${PHYSX_PLATFORM_LINK_FLAGS}"
LINK_FLAGS_DEBUG "${PHYSX_PLATFORM_LINK_FLAGS_DEBUG}"
LINK_FLAGS_CHECKED "${PHYSX_PLATFORM_LINK_FLAGS_CHECKED}"
LINK_FLAGS_PROFILE "${PHYSX_PLATFORM_LINK_FLAGS_PROFILE}"
LINK_FLAGS_RELEASE "${PHYSX_PLATFORM_LINK_FLAGS_RELEASE}"
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COMMON_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_PVD_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_METADATA_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_METADATA_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_CORE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_BUFFERING_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_IMMEDIATEMODE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_PLATFORM_SRC_FILES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_SOLVER_HEADERS})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysX PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,146 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physxcharacterkinematic/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXCharacterKinematic.cmake)
SET(PHYSXCCT_HEADERS
${PHYSX_ROOT_DIR}/include/characterkinematic/PxBoxController.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxCapsuleController.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxController.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxControllerBehavior.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxControllerManager.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxControllerObstacles.h
${PHYSX_ROOT_DIR}/include/characterkinematic/PxExtended.h
)
SOURCE_GROUP(include FILES ${PHYSXCCT_HEADERS})
SET(PHYSXCCT_SOURCE
${LL_SOURCE_DIR}/CctBoxController.cpp
${LL_SOURCE_DIR}/CctCapsuleController.cpp
${LL_SOURCE_DIR}/CctCharacterController.cpp
${LL_SOURCE_DIR}/CctCharacterControllerCallbacks.cpp
${LL_SOURCE_DIR}/CctCharacterControllerManager.cpp
${LL_SOURCE_DIR}/CctController.cpp
${LL_SOURCE_DIR}/CctObstacleContext.cpp
${LL_SOURCE_DIR}/CctSweptBox.cpp
${LL_SOURCE_DIR}/CctSweptCapsule.cpp
${LL_SOURCE_DIR}/CctSweptVolume.cpp
${LL_SOURCE_DIR}/CctBoxController.h
${LL_SOURCE_DIR}/CctCapsuleController.h
${LL_SOURCE_DIR}/CctCharacterController.h
${LL_SOURCE_DIR}/CctCharacterControllerManager.h
${LL_SOURCE_DIR}/CctController.h
${LL_SOURCE_DIR}/CctInternalStructs.h
${LL_SOURCE_DIR}/CctObstacleContext.h
${LL_SOURCE_DIR}/CctSweptBox.h
${LL_SOURCE_DIR}/CctSweptCapsule.h
${LL_SOURCE_DIR}/CctSweptVolume.h
${LL_SOURCE_DIR}/CctUtils.h
)
SOURCE_GROUP(src FILES ${PHYSXCCT_SOURCE})
ADD_LIBRARY(PhysXCharacterKinematic ${PHYSXCHARACTERKINEMATIC_LIBTYPE}
${PHYSXCCT_HEADERS}
${PHYSXCCT_SOURCE}
)
INSTALL(FILES ${PHYSXCCT_HEADERS} DESTINATION include/characterkinematic)
TARGET_INCLUDE_DIRECTORIES(PhysXCharacterKinematic
PRIVATE ${PHYSXCHARACTERKINEMATICS_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
)
TARGET_COMPILE_DEFINITIONS(PhysXCharacterKinematic
# Common to all configurations
PRIVATE ${PHYSXCHARACTERKINEMATICS_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXCharacterKinematic PROPERTIES
OUTPUT_NAME PhysXCharacterKinematic
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCHARACTERKINEMATIC_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXCharacterKinematic PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXCharacterKinematic_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXCharacterKinematic_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXCharacterKinematic_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXCharacterKinematic_static"
)
ENDIF()
IF(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXCharacterKinematic PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
TARGET_LINK_LIBRARIES(PhysXCharacterKinematic
PUBLIC ${PHYSXCHARACTERKINEMATICS_PLATFORM_LINKED_LIBS}
PUBLIC PhysXFoundation
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCCT_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCCT_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXCharacterKinematic PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,585 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(COMMON_SRC_DIR ${PHYSX_SOURCE_DIR}/common/src)
SET(GU_SOURCE_DIR ${PHYSX_SOURCE_DIR}/geomutils)
SET(PXCOMMON_PLATFORM_LINK_FLAGS_DEBUG " ")
SET(PXCOMMON_PLATFORM_LINK_FLAGS_CHECKED " ")
SET(PXCOMMON_PLATFORM_LINK_FLAGS_PROFILE " ")
SET(PXCOMMON_PLATFORM_LINK_FLAGS_RELEASE " ")
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXCommon.cmake)
SET(PHYSX_COMMON_SOURCE
${COMMON_SRC_DIR}/CmCollection.cpp
${COMMON_SRC_DIR}/CmPtrTable.cpp
${COMMON_SRC_DIR}/CmRadixSort.cpp
${COMMON_SRC_DIR}/CmRadixSortBuffered.cpp
${COMMON_SRC_DIR}/CmRenderOutput.cpp
${COMMON_SRC_DIR}/CmVisualization.cpp
${COMMON_SRC_DIR}/CmBitMap.h
${COMMON_SRC_DIR}/CmBlockArray.h
${COMMON_SRC_DIR}/CmCollection.h
${COMMON_SRC_DIR}/CmConeLimitHelper.h
${COMMON_SRC_DIR}/CmFlushPool.h
${COMMON_SRC_DIR}/CmIDPool.h
${COMMON_SRC_DIR}/CmIO.h
${COMMON_SRC_DIR}/CmMatrix34.h
${COMMON_SRC_DIR}/CmPhysXCommon.h
${COMMON_SRC_DIR}/CmPool.h
${COMMON_SRC_DIR}/CmPreallocatingPool.h
${COMMON_SRC_DIR}/CmPriorityQueue.h
${COMMON_SRC_DIR}/CmPtrTable.h
${COMMON_SRC_DIR}/CmQueue.h
${COMMON_SRC_DIR}/CmRadixSort.h
${COMMON_SRC_DIR}/CmRadixSortBuffered.h
${COMMON_SRC_DIR}/CmRefCountable.h
${COMMON_SRC_DIR}/CmRenderBuffer.h
${COMMON_SRC_DIR}/CmRenderOutput.h
${COMMON_SRC_DIR}/CmScaling.h
${COMMON_SRC_DIR}/CmSpatialVector.h
${COMMON_SRC_DIR}/CmTask.h
${COMMON_SRC_DIR}/CmTaskPool.h
${COMMON_SRC_DIR}/CmTmpMem.h
${COMMON_SRC_DIR}/CmTransformUtils.h
${COMMON_SRC_DIR}/CmUtils.h
${COMMON_SRC_DIR}/CmVisualization.h
)
SOURCE_GROUP(common\\src FILES ${PHYSX_COMMON_SOURCE})
SET(PHYSXCOMMON_COMMON_HEADERS
${PHYSX_ROOT_DIR}/include/common/PxBase.h
${PHYSX_ROOT_DIR}/include/common/PxCollection.h
${PHYSX_ROOT_DIR}/include/common/PxCoreUtilityTypes.h
${PHYSX_ROOT_DIR}/include/common/PxMetaData.h
${PHYSX_ROOT_DIR}/include/common/PxMetaDataFlags.h
${PHYSX_ROOT_DIR}/include/common/PxPhysicsInsertionCallback.h
${PHYSX_ROOT_DIR}/include/common/PxPhysXCommonConfig.h
${PHYSX_ROOT_DIR}/include/common/PxRenderBuffer.h
${PHYSX_ROOT_DIR}/include/common/PxSerialFramework.h
${PHYSX_ROOT_DIR}/include/common/PxSerializer.h
${PHYSX_ROOT_DIR}/include/common/PxStringTable.h
${PHYSX_ROOT_DIR}/include/common/PxTolerancesScale.h
${PHYSX_ROOT_DIR}/include/common/PxTypeInfo.h
${PHYSX_ROOT_DIR}/include/common/PxProfileZone.h
)
SOURCE_GROUP(include\\common FILES ${PHYSXCOMMON_COMMON_HEADERS})
SET(PHYSXCOMMON_GEOMETRY_HEADERS
${PHYSX_ROOT_DIR}/include/geometry/PxBoxGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxCapsuleGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxConvexMesh.h
${PHYSX_ROOT_DIR}/include/geometry/PxConvexMeshGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxGeometryHelpers.h
${PHYSX_ROOT_DIR}/include/geometry/PxGeometryQuery.h
${PHYSX_ROOT_DIR}/include/geometry/PxHeightField.h
${PHYSX_ROOT_DIR}/include/geometry/PxHeightFieldDesc.h
${PHYSX_ROOT_DIR}/include/geometry/PxHeightFieldFlag.h
${PHYSX_ROOT_DIR}/include/geometry/PxHeightFieldGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxHeightFieldSample.h
${PHYSX_ROOT_DIR}/include/geometry/PxMeshQuery.h
${PHYSX_ROOT_DIR}/include/geometry/PxMeshScale.h
${PHYSX_ROOT_DIR}/include/geometry/PxPlaneGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxSimpleTriangleMesh.h
${PHYSX_ROOT_DIR}/include/geometry/PxSphereGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxTriangle.h
${PHYSX_ROOT_DIR}/include/geometry/PxTriangleMesh.h
${PHYSX_ROOT_DIR}/include/geometry/PxTriangleMeshGeometry.h
${PHYSX_ROOT_DIR}/include/geometry/PxBVHStructure.h
)
SOURCE_GROUP(include\\geometry FILES ${PHYSXCOMMON_GEOMETRY_HEADERS})
SET(PHYSXCOMMON_GEOMUTILS_HEADERS
${PHYSX_ROOT_DIR}/include/geomutils/GuContactBuffer.h
${PHYSX_ROOT_DIR}/include/geomutils/GuContactPoint.h
)
SOURCE_GROUP(include\\geomutils FILES ${PHYSXCOMMON_GEOMUTILS_HEADERS})
SET(PHYSXCOMMON_COLLISION_HEADERS
${PHYSX_ROOT_DIR}/include/collision/PxCollisionDefs.h
)
SOURCE_GROUP(include\\collision FILES ${PHYSXCOMMON_COLLISION_HEADERS})
SET(PHYSXCOMMON_GU_HEADERS
${GU_SOURCE_DIR}/include/GuBox.h
${GU_SOURCE_DIR}/include/GuDistanceSegmentBox.h
${GU_SOURCE_DIR}/include/GuDistanceSegmentSegment.h
${GU_SOURCE_DIR}/include/GuIntersectionBoxBox.h
${GU_SOURCE_DIR}/include/GuIntersectionTriangleBox.h
${GU_SOURCE_DIR}/include/GuIntersectionTriangleBoxRef.h
${GU_SOURCE_DIR}/include/GuRaycastTests.h
${GU_SOURCE_DIR}/include/GuSegment.h
${GU_SOURCE_DIR}/include/GuSIMDHelpers.h
)
SOURCE_GROUP(geomutils\\headers FILES ${PHYSXCOMMON_GU_HEADERS})
SET(PHYSXCOMMON_GU_PXHEADERS
${PHYSX_ROOT_DIR}/include/geomutils/GuContactBuffer.h
${PHYSX_ROOT_DIR}/include/geomutils/GuContactPoint.h
)
SOURCE_GROUP(geomutils\\include FILES ${PHYSXCOMMON_GU_PXHEADERS})
SET(PHYSXCOMMON_GU_SOURCE
${GU_SOURCE_DIR}/src/GuBounds.cpp
${GU_SOURCE_DIR}/src/GuBox.cpp
${GU_SOURCE_DIR}/src/GuCapsule.cpp
${GU_SOURCE_DIR}/src/GuCCTSweepTests.cpp
${GU_SOURCE_DIR}/src/GuGeometryQuery.cpp
${GU_SOURCE_DIR}/src/GuGeometryUnion.cpp
${GU_SOURCE_DIR}/src/GuInternal.cpp
${GU_SOURCE_DIR}/src/GuMeshFactory.cpp
${GU_SOURCE_DIR}/src/GuMetaData.cpp
${GU_SOURCE_DIR}/src/GuMTD.cpp
${GU_SOURCE_DIR}/src/GuOverlapTests.cpp
${GU_SOURCE_DIR}/src/GuRaycastTests.cpp
${GU_SOURCE_DIR}/src/GuSerialize.cpp
${GU_SOURCE_DIR}/src/GuSweepMTD.cpp
${GU_SOURCE_DIR}/src/GuSweepSharedTests.cpp
${GU_SOURCE_DIR}/src/GuSweepTests.cpp
${GU_SOURCE_DIR}/src/GuBounds.h
${GU_SOURCE_DIR}/src/GuCapsule.h
${GU_SOURCE_DIR}/src/GuCenterExtents.h
${GU_SOURCE_DIR}/src/GuGeometryUnion.h
${GU_SOURCE_DIR}/src/GuInternal.h
${GU_SOURCE_DIR}/src/GuMeshFactory.h
${GU_SOURCE_DIR}/src/GuMTD.h
${GU_SOURCE_DIR}/src/GuOverlapTests.h
${GU_SOURCE_DIR}/src/GuSerialize.h
${GU_SOURCE_DIR}/src/GuSphere.h
${GU_SOURCE_DIR}/src/GuSweepMTD.h
${GU_SOURCE_DIR}/src/GuSweepSharedTests.h
${GU_SOURCE_DIR}/src/GuSweepTests.h
${GU_SOURCE_DIR}/src/GuAABBTreeBuild.cpp
${GU_SOURCE_DIR}/src/GuAABBTreeBuild.h
${GU_SOURCE_DIR}/src/GuAABBTreeQuery.h
${GU_SOURCE_DIR}/src/GuBVHStructure.cpp
${GU_SOURCE_DIR}/src/GuBVHStructure.h
${GU_SOURCE_DIR}/src/GuBVHTestsSIMD.h
)
SOURCE_GROUP(geomutils\\src FILES ${PHYSXCOMMON_GU_SOURCE})
SET(PHYSXCOMMON_GU_CCD_SOURCE
${GU_SOURCE_DIR}/src/ccd/GuCCDSweepConvexMesh.cpp
${GU_SOURCE_DIR}/src/ccd/GuCCDSweepPrimitives.cpp
${GU_SOURCE_DIR}/src/ccd/GuCCDSweepConvexMesh.h
)
SOURCE_GROUP(geomutils\\src\\ccd FILES ${PHYSXCOMMON_GU_CCD_SOURCE})
SET(PHYSXCOMMON_GU_COMMON_SOURCE
${GU_SOURCE_DIR}/src/common/GuBarycentricCoordinates.cpp
${GU_SOURCE_DIR}/src/common/GuSeparatingAxes.cpp
${GU_SOURCE_DIR}/src/common/GuBarycentricCoordinates.h
${GU_SOURCE_DIR}/src/common/GuBoxConversion.h
${GU_SOURCE_DIR}/src/common/GuEdgeCache.h
${GU_SOURCE_DIR}/src/common/GuEdgeListData.h
${GU_SOURCE_DIR}/src/common/GuSeparatingAxes.h
)
SOURCE_GROUP(geomutils\\src\\common FILES ${PHYSXCOMMON_GU_COMMON_SOURCE})
SET(PHYSXCOMMON_GU_CONTACT_SOURCE
${GU_SOURCE_DIR}/src/contact/GuContactBoxBox.cpp
${GU_SOURCE_DIR}/src/contact/GuContactCapsuleBox.cpp
${GU_SOURCE_DIR}/src/contact/GuContactCapsuleCapsule.cpp
${GU_SOURCE_DIR}/src/contact/GuContactCapsuleConvex.cpp
${GU_SOURCE_DIR}/src/contact/GuContactCapsuleMesh.cpp
${GU_SOURCE_DIR}/src/contact/GuContactConvexConvex.cpp
${GU_SOURCE_DIR}/src/contact/GuContactConvexMesh.cpp
${GU_SOURCE_DIR}/src/contact/GuContactPlaneBox.cpp
${GU_SOURCE_DIR}/src/contact/GuContactPlaneCapsule.cpp
${GU_SOURCE_DIR}/src/contact/GuContactPlaneConvex.cpp
${GU_SOURCE_DIR}/src/contact/GuContactPolygonPolygon.cpp
${GU_SOURCE_DIR}/src/contact/GuContactSphereBox.cpp
${GU_SOURCE_DIR}/src/contact/GuContactSphereCapsule.cpp
${GU_SOURCE_DIR}/src/contact/GuContactSphereMesh.cpp
${GU_SOURCE_DIR}/src/contact/GuContactSpherePlane.cpp
${GU_SOURCE_DIR}/src/contact/GuContactSphereSphere.cpp
${GU_SOURCE_DIR}/src/contact/GuFeatureCode.cpp
${GU_SOURCE_DIR}/src/contact/GuContactMethodImpl.h
${GU_SOURCE_DIR}/src/contact/GuContactPolygonPolygon.h
${GU_SOURCE_DIR}/src/contact/GuFeatureCode.h
)
SOURCE_GROUP(geomutils\\src\\contact FILES ${PHYSXCOMMON_GU_CONTACT_SOURCE})
SET(PHYSXCOMMON_GU_CONVEX_SOURCE
${GU_SOURCE_DIR}/src/convex/GuBigConvexData.cpp
${GU_SOURCE_DIR}/src/convex/GuConvexHelper.cpp
${GU_SOURCE_DIR}/src/convex/GuConvexMesh.cpp
${GU_SOURCE_DIR}/src/convex/GuConvexSupportTable.cpp
${GU_SOURCE_DIR}/src/convex/GuConvexUtilsInternal.cpp
${GU_SOURCE_DIR}/src/convex/GuHillClimbing.cpp
${GU_SOURCE_DIR}/src/convex/GuShapeConvex.cpp
${GU_SOURCE_DIR}/src/convex/GuBigConvexData.h
${GU_SOURCE_DIR}/src/convex/GuBigConvexData2.h
${GU_SOURCE_DIR}/src/convex/GuConvexEdgeFlags.h
${GU_SOURCE_DIR}/src/convex/GuConvexHelper.h
${GU_SOURCE_DIR}/src/convex/GuConvexMesh.h
${GU_SOURCE_DIR}/src/convex/GuConvexMeshData.h
${GU_SOURCE_DIR}/src/convex/GuConvexSupportTable.h
${GU_SOURCE_DIR}/src/convex/GuConvexUtilsInternal.h
${GU_SOURCE_DIR}/src/convex/GuCubeIndex.h
${GU_SOURCE_DIR}/src/convex/GuHillClimbing.h
${GU_SOURCE_DIR}/src/convex/GuShapeConvex.h
)
SOURCE_GROUP(geomutils\\src\\convex FILES ${PHYSXCOMMON_GU_CONVEX_SOURCE})
SET(PHYSXCOMMON_GU_DISTANCE_SOURCE
${GU_SOURCE_DIR}/src/distance/GuDistancePointBox.cpp
${GU_SOURCE_DIR}/src/distance/GuDistancePointTriangle.cpp
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentBox.cpp
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentSegment.cpp
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentTriangle.cpp
${GU_SOURCE_DIR}/src/distance/GuDistancePointBox.h
${GU_SOURCE_DIR}/src/distance/GuDistancePointSegment.h
${GU_SOURCE_DIR}/src/distance/GuDistancePointTriangle.h
${GU_SOURCE_DIR}/src/distance/GuDistancePointTriangleSIMD.h
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentSegmentSIMD.h
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentTriangle.h
${GU_SOURCE_DIR}/src/distance/GuDistanceSegmentTriangleSIMD.h
)
SOURCE_GROUP(geomutils\\src\\distance FILES ${PHYSXCOMMON_GU_DISTANCE_SOURCE})
SET(PHYSXCOMMON_GU_GJK_SOURCE
${GU_SOURCE_DIR}/src/gjk/GuEPA.cpp
${GU_SOURCE_DIR}/src/gjk/GuGJKSimplex.cpp
${GU_SOURCE_DIR}/src/gjk/GuGJKTest.cpp
${GU_SOURCE_DIR}/src/gjk/GuEPA.h
${GU_SOURCE_DIR}/src/gjk/GuEPAFacet.h
${GU_SOURCE_DIR}/src/gjk/GuGJK.h
${GU_SOURCE_DIR}/src/gjk/GuGJKPenetration.h
${GU_SOURCE_DIR}/src/gjk/GuGJKRaycast.h
${GU_SOURCE_DIR}/src/gjk/GuGJKSimplex.h
${GU_SOURCE_DIR}/src/gjk/GuGJKTest.h
${GU_SOURCE_DIR}/src/gjk/GuGJKType.h
${GU_SOURCE_DIR}/src/gjk/GuGJKUtil.h
${GU_SOURCE_DIR}/src/gjk/GuVecBox.h
${GU_SOURCE_DIR}/src/gjk/GuVecCapsule.h
${GU_SOURCE_DIR}/src/gjk/GuVecConvex.h
${GU_SOURCE_DIR}/src/gjk/GuVecConvexHull.h
${GU_SOURCE_DIR}/src/gjk/GuVecConvexHullNoScale.h
${GU_SOURCE_DIR}/src/gjk/GuVecPlane.h
${GU_SOURCE_DIR}/src/gjk/GuVecSphere.h
${GU_SOURCE_DIR}/src/gjk/GuVecTriangle.h
)
SOURCE_GROUP(geomutils\\src\\gjk FILES ${PHYSXCOMMON_GU_GJK_SOURCE})
SET(PHYSXCOMMON_GU_HF_SOURCE
${GU_SOURCE_DIR}/src/hf/GuHeightField.cpp
${GU_SOURCE_DIR}/src/hf/GuHeightFieldUtil.cpp
${GU_SOURCE_DIR}/src/hf/GuOverlapTestsHF.cpp
${GU_SOURCE_DIR}/src/hf/GuSweepsHF.cpp
${GU_SOURCE_DIR}/src/hf/GuEntityReport.h
${GU_SOURCE_DIR}/src/hf/GuHeightField.h
${GU_SOURCE_DIR}/src/hf/GuHeightFieldData.h
${GU_SOURCE_DIR}/src/hf/GuHeightFieldUtil.h
)
SOURCE_GROUP(geomutils\\src\\hf FILES ${PHYSXCOMMON_GU_HF_SOURCE})
SET(PHYSXCOMMON_GU_INTERSECTION_SOURCE
${GU_SOURCE_DIR}/src/intersection/GuIntersectionBoxBox.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionCapsuleTriangle.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionEdgeEdge.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayBox.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayCapsule.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRaySphere.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionSphereBox.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionTriangleBox.cpp
${GU_SOURCE_DIR}/src/intersection/GuIntersectionCapsuleTriangle.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionEdgeEdge.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRay.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayBox.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayBoxSIMD.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayCapsule.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayPlane.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRaySphere.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionRayTriangle.h
${GU_SOURCE_DIR}/src/intersection/GuIntersectionSphereBox.h
)
SOURCE_GROUP(geomutils\\src\\intersection FILES ${PHYSXCOMMON_GU_INTERSECTION_SOURCE})
SET(PXCOMMON_BVH4_FILES
${GU_SOURCE_DIR}/src/mesh/GuBV4_AABBSweep.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_BoxOverlap.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_CapsuleSweep.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_CapsuleSweepAA.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_OBBSweep.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_Raycast.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_SphereOverlap.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4_SphereSweep.cpp
${GU_SOURCE_DIR}/src/mesh/GuMidphaseBV4.cpp
)
SET(PHYSXCOMMON_GU_MESH_SOURCE
${GU_SOURCE_DIR}/src/mesh/GuBV4.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV4Build.cpp
${PXCOMMON_BVH4_FILES}
${GU_SOURCE_DIR}/src/mesh/GuMeshQuery.cpp
${GU_SOURCE_DIR}/src/mesh/GuMidphaseRTree.cpp
${GU_SOURCE_DIR}/src/mesh/GuOverlapTestsMesh.cpp
${GU_SOURCE_DIR}/src/mesh/GuRTree.cpp
${GU_SOURCE_DIR}/src/mesh/GuRTreeQueries.cpp
${GU_SOURCE_DIR}/src/mesh/GuSweepsMesh.cpp
${GU_SOURCE_DIR}/src/mesh/GuTriangleMesh.cpp
${GU_SOURCE_DIR}/src/mesh/GuTriangleMeshBV4.cpp
${GU_SOURCE_DIR}/src/mesh/GuTriangleMeshRTree.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV32.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV32Build.cpp
${GU_SOURCE_DIR}/src/mesh/GuBV32.h
${GU_SOURCE_DIR}/src/mesh/GuBV32Build.h
${GU_SOURCE_DIR}/src/mesh/GuBV4.h
${GU_SOURCE_DIR}/src/mesh/GuBV4Build.h
${GU_SOURCE_DIR}/src/mesh/GuBV4Settings.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_AABBAABBSweepTest.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_BoxBoxOverlapTest.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_BoxOverlap_Internal.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_BoxSweep_Internal.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_BoxSweep_Params.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_CapsuleSweep_Internal.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Common.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Internal.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamNoOrder_OBBOBB.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamNoOrder_SegmentAABB.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamNoOrder_SegmentAABB_Inflated.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamNoOrder_SphereAABB.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamOrdered_OBBOBB.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamOrdered_SegmentAABB.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_ProcessStreamOrdered_SegmentAABB_Inflated.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Slabs.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Slabs_KajiyaNoOrder.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Slabs_KajiyaOrdered.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Slabs_SwizzledNoOrder.h
${GU_SOURCE_DIR}/src/mesh/GuBV4_Slabs_SwizzledOrdered.h
${GU_SOURCE_DIR}/src/mesh/GuBVConstants.h
${GU_SOURCE_DIR}/src/mesh/GuMeshData.h
${GU_SOURCE_DIR}/src/mesh/GuMidphaseInterface.h
${GU_SOURCE_DIR}/src/mesh/GuRTree.h
${GU_SOURCE_DIR}/src/mesh/GuSweepConvexTri.h
${GU_SOURCE_DIR}/src/mesh/GuSweepMesh.h
${GU_SOURCE_DIR}/src/mesh/GuTriangle32.h
${GU_SOURCE_DIR}/src/mesh/GuTriangleCache.h
${GU_SOURCE_DIR}/src/mesh/GuTriangleMesh.h
${GU_SOURCE_DIR}/src/mesh/GuTriangleMeshBV4.h
${GU_SOURCE_DIR}/src/mesh/GuTriangleMeshRTree.h
${GU_SOURCE_DIR}/src/mesh/GuTriangleVertexPointers.h
)
SOURCE_GROUP(geomutils\\src\\mesh FILES ${PHYSXCOMMON_GU_MESH_SOURCE})
SET(PHYSXCOMMON_GU_PCM_SOURCE
${GU_SOURCE_DIR}/src/pcm/GuPCMContactBoxBox.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactBoxConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactCapsuleBox.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactCapsuleCapsule.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactCapsuleConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactCapsuleHeightField.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactCapsuleMesh.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactConvexCommon.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactConvexConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactConvexHeightField.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactConvexMesh.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactGenBoxConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactGenSphereCapsule.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactPlaneBox.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactPlaneCapsule.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactPlaneConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereBox.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereCapsule.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereHeightField.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereMesh.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSpherePlane.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactSphereSphere.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMShapeConvex.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMTriangleContactGen.cpp
${GU_SOURCE_DIR}/src/pcm/GuPersistentContactManifold.cpp
${GU_SOURCE_DIR}/src/pcm/GuPCMContactConvexCommon.h
${GU_SOURCE_DIR}/src/pcm/GuPCMContactGen.h
${GU_SOURCE_DIR}/src/pcm/GuPCMContactGenUtil.h
${GU_SOURCE_DIR}/src/pcm/GuPCMContactMeshCallback.h
${GU_SOURCE_DIR}/src/pcm/GuPCMShapeConvex.h
${GU_SOURCE_DIR}/src/pcm/GuPCMTriangleContactGen.h
${GU_SOURCE_DIR}/src/pcm/GuPersistentContactManifold.h
)
SOURCE_GROUP(geomutils\\src\\pcm FILES ${PHYSXCOMMON_GU_PCM_SOURCE})
SET(PHYSXCOMMON_GU_SWEEP_SOURCE
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxBox.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxSphere.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxTriangle_FeatureBased.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxTriangle_SAT.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleBox.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleCapsule.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleTriangle.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereCapsule.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereSphere.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereTriangle.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepTriangleUtils.cpp
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxBox.h
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxSphere.h
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxTriangle_FeatureBased.h
${GU_SOURCE_DIR}/src/sweep/GuSweepBoxTriangle_SAT.h
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleBox.h
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleCapsule.h
${GU_SOURCE_DIR}/src/sweep/GuSweepCapsuleTriangle.h
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereCapsule.h
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereSphere.h
${GU_SOURCE_DIR}/src/sweep/GuSweepSphereTriangle.h
${GU_SOURCE_DIR}/src/sweep/GuSweepTriangleUtils.h
)
SOURCE_GROUP(geomutils\\src\\sweep FILES ${PHYSXCOMMON_GU_SWEEP_SOURCE})
ADD_LIBRARY(PhysXCommon ${PHYSXCOMMON_LIBTYPE}
${PHYSX_COMMON_SOURCE}
${PHYSXCOMMON_COMMON_HEADERS}
${PHYSXCOMMON_GEOMETRY_HEADERS}
${PHYSXCOMMON_GEOMUTILS_HEADERS}
${PHYSXCOMMON_COLLISION_HEADERS}
${PXCOMMON_PLATFORM_SRC_FILES}
${PHYSXCOMMON_GU_HEADERS}
${PHYSXCOMMON_GU_PXHEADERS}
${PHYSXCOMMON_GU_SOURCE}
${PHYSXCOMMON_GU_CCD_SOURCE}
${PHYSXCOMMON_GU_COMMON_SOURCE}
${PHYSXCOMMON_GU_CONTACT_SOURCE}
${PHYSXCOMMON_GU_CONVEX_SOURCE}
${PHYSXCOMMON_GU_DISTANCE_SOURCE}
${PHYSXCOMMON_GU_GJK_SOURCE}
${PHYSXCOMMON_GU_HF_SOURCE}
${PHYSXCOMMON_GU_INTERSECTION_SOURCE}
${PHYSXCOMMON_GU_MESH_SOURCE}
${PHYSXCOMMON_GU_PCM_SOURCE}
${PHYSXCOMMON_GU_SWEEP_SOURCE}
)
INSTALL(FILES ${PHYSXCOMMON_GEOMETRY_HEADERS} DESTINATION include/geometry)
INSTALL(FILES ${PHYSXCOMMON_GEOMUTILS_HEADERS} DESTINATION include/geomutils)
TARGET_INCLUDE_DIRECTORIES(PhysXCommon
PRIVATE ${PXCOMMON_PLATFORM_INCLUDES}
PUBLIC ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
)
TARGET_COMPILE_DEFINITIONS(PhysXCommon
PRIVATE ${PXCOMMON_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES
OUTPUT_NAME PhysXCommon
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCOMMON_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXCommon_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXCommon_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXCommon_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXCommon_static"
)
ENDIF()
IF(PHYSXCOMMON_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES
COMPILE_PDB_NAME_DEBUG "${PHYSXCOMMON_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${PHYSXCOMMON_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${PHYSXCOMMON_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${PHYSXCOMMON_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES
LINK_FLAGS "${PXCOMMON_PLATFORM_LINK_FLAGS}"
LINK_FLAGS_DEBUG "${PXCOMMON_PLATFORM_LINK_FLAGS_DEBUG}"
LINK_FLAGS_CHECKED "${PXCOMMON_PLATFORM_LINK_FLAGS_CHECKED}"
LINK_FLAGS_PROFILE "${PXCOMMON_PLATFORM_LINK_FLAGS_PROFILE}"
LINK_FLAGS_RELEASE "${PXCOMMON_PLATFORM_LINK_FLAGS_RELEASE}"
)
TARGET_LINK_LIBRARIES(PhysXCommon
PUBLIC ${PXCOMMON_PLATFORM_LINKED_LIBS}
PUBLIC PhysXFoundation
PRIVATE ${PHYSXCOMMON_PLATFORM_LINKED_LIBS}
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COMMON_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_COMMON_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GEOMETRY_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GEOMUTILS_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PXCOMMON_PLATFORM_SRC_FILES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_PXHEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_CCD_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_COMMON_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_CONTACT_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_CONVEX_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_DISTANCE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_GJK_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_HF_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_INTERSECTION_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_MESH_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_PCM_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_GU_SWEEP_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOMMON_COLLISION_HEADERS})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,206 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physxcooking/src)
SET(PHYSXCOOKING_LINK_FLAGS_DEBUG " ")
SET(PHYSXCOOKING_LINK_FLAGS_CHECKED " ")
SET(PHYSXCOOKING_LINK_FLAGS_PROFILE " ")
SET(PHYSXCOOKING_LINK_FLAGS_RELEASE " ")
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXCooking.cmake)
SET(PHYSX_COOKING_HEADERS
${PHYSX_ROOT_DIR}/include/cooking/PxBVH33MidphaseDesc.h
${PHYSX_ROOT_DIR}/include/cooking/PxBVH34MidphaseDesc.h
${PHYSX_ROOT_DIR}/include/cooking/Pxc.h
${PHYSX_ROOT_DIR}/include/cooking/PxConvexMeshDesc.h
${PHYSX_ROOT_DIR}/include/cooking/PxCooking.h
${PHYSX_ROOT_DIR}/include/cooking/PxMidphaseDesc.h
${PHYSX_ROOT_DIR}/include/cooking/PxTriangleMeshDesc.h
${PHYSX_ROOT_DIR}/include/cooking/PxBVHStructureDesc.h
)
SOURCE_GROUP(include FILES ${PHYSX_COOKING_HEADERS})
SET(PHYSX_COOKING_SOURCE
${LL_SOURCE_DIR}/Adjacencies.cpp
${LL_SOURCE_DIR}/Cooking.cpp
${LL_SOURCE_DIR}/CookingUtils.cpp
${LL_SOURCE_DIR}/EdgeList.cpp
${LL_SOURCE_DIR}/MeshCleaner.cpp
${LL_SOURCE_DIR}/Quantizer.cpp
${LL_SOURCE_DIR}/Adjacencies.h
${LL_SOURCE_DIR}/Cooking.h
${LL_SOURCE_DIR}/CookingUtils.h
${LL_SOURCE_DIR}/EdgeList.h
${LL_SOURCE_DIR}/MeshCleaner.h
${LL_SOURCE_DIR}/Quantizer.h
${LL_SOURCE_DIR}/BVHStructureBuilder.cpp
${LL_SOURCE_DIR}/BVHStructureBuilder.h
)
SOURCE_GROUP(src FILES ${PHYSX_COOKING_SOURCE})
SET(PHYSX_COOKING_MESH_SOURCE
${LL_SOURCE_DIR}/mesh/HeightFieldCooking.cpp
${LL_SOURCE_DIR}/mesh/RTreeCooking.cpp
${LL_SOURCE_DIR}/mesh/MeshBuilder.cpp
${LL_SOURCE_DIR}/mesh/TriangleMeshBuilder.cpp
${LL_SOURCE_DIR}/mesh/GrbTriangleMeshCooking.cpp
${LL_SOURCE_DIR}/mesh/GrbTriangleMeshCooking.h
${LL_SOURCE_DIR}/mesh/HeightFieldCooking.h
${LL_SOURCE_DIR}/mesh/QuickSelect.h
${LL_SOURCE_DIR}/mesh/RTreeCooking.h
${LL_SOURCE_DIR}/mesh/MeshBuilder.h
${LL_SOURCE_DIR}/mesh/TriangleMeshBuilder.h
)
SOURCE_GROUP(src\\mesh FILES ${PHYSX_COOKING_MESH_SOURCE})
SET(PHYSX_COOKING_CONVEX_SOURCE
${LL_SOURCE_DIR}/convex/BigConvexDataBuilder.cpp
${LL_SOURCE_DIR}/convex/ConvexHullBuilder.cpp
${LL_SOURCE_DIR}/convex/ConvexHullLib.cpp
${LL_SOURCE_DIR}/convex/ConvexHullUtils.cpp
${LL_SOURCE_DIR}/convex/ConvexMeshBuilder.cpp
${LL_SOURCE_DIR}/convex/ConvexPolygonsBuilder.cpp
${LL_SOURCE_DIR}/convex/QuickHullConvexHullLib.cpp
${LL_SOURCE_DIR}/convex/VolumeIntegration.cpp
${LL_SOURCE_DIR}/convex/BigConvexDataBuilder.h
${LL_SOURCE_DIR}/convex/ConvexHullBuilder.h
${LL_SOURCE_DIR}/convex/ConvexHullLib.h
${LL_SOURCE_DIR}/convex/ConvexHullUtils.h
${LL_SOURCE_DIR}/convex/ConvexMeshBuilder.h
${LL_SOURCE_DIR}/convex/ConvexPolygonsBuilder.h
${LL_SOURCE_DIR}/convex/QuickHullConvexHullLib.h
${LL_SOURCE_DIR}/convex/VolumeIntegration.h
)
SOURCE_GROUP(src\\convex FILES ${PHYSX_COOKING_CONVEX_SOURCE})
ADD_LIBRARY(PhysXCooking ${PHYSXCOOKING_LIBTYPE}
${PHYSX_COOKING_HEADERS}
${PHYSX_COOKING_SOURCE}
${PHYSX_COOKING_MESH_SOURCE}
${PHYSX_COOKING_CONVEX_SOURCE}
${PHYSXCOOKING_PLATFORM_SRC_FILES}
)
INSTALL(FILES ${PHYSX_COOKING_HEADERS} DESTINATION include/cooking)
# Target specific compile options
TARGET_INCLUDE_DIRECTORIES(PhysXCooking
PRIVATE ${PHYSXCOOKING_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/physxcooking/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
)
TARGET_LINK_LIBRARIES(PhysXCooking
PUBLIC PhysXCommon
PUBLIC PhysXFoundation
PRIVATE ${PHYSXCOOKING_PLATFORM_LINKED_LIBS}
)
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(PhysXCooking
PRIVATE ${PHYSXCOOKING_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXCooking PROPERTIES
OUTPUT_NAME PhysXCooking
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCOOKING_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXCooking PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXCooking_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXCooking_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXCooking_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXCooking_static"
)
ENDIF()
IF(PHYSXCOOKING_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXCooking PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXCOOKING_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXCOOKING_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXCOOKING_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXCOOKING_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
SET_TARGET_PROPERTIES(PhysXCooking PROPERTIES
LINK_FLAGS ${PHYSXCOOKING_LINK_FLAGS}
LINK_FLAGS_DEBUG ${PHYSXCOOKING_LINK_FLAGS_DEBUG}
LINK_FLAGS_CHECKED ${PHYSXCOOKING_LINK_FLAGS_CHECKED}
LINK_FLAGS_PROFILE ${PHYSXCOOKING_LINK_FLAGS_PROFILE}
LINK_FLAGS_RELEASE ${PHYSXCOOKING_LINK_FLAGS_RELEASE}
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COOKING_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COOKING_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COOKING_MESH_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_COOKING_CONVEX_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXCOOKING_PLATFORM_SRC_FILES})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXCooking PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,314 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physxextensions/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXExtensions.cmake)
SET(PHYSX_EXTENSIONS_SOURCE
${LL_SOURCE_DIR}/ExtBroadPhase.cpp
${LL_SOURCE_DIR}/ExtCollection.cpp
${LL_SOURCE_DIR}/ExtConvexMeshExt.cpp
${LL_SOURCE_DIR}/ExtCpuWorkerThread.cpp
${LL_SOURCE_DIR}/ExtD6Joint.cpp
${LL_SOURCE_DIR}/ExtD6JointCreate.cpp
${LL_SOURCE_DIR}/ExtDefaultCpuDispatcher.cpp
${LL_SOURCE_DIR}/ExtDefaultErrorCallback.cpp
${LL_SOURCE_DIR}/ExtDefaultSimulationFilterShader.cpp
${LL_SOURCE_DIR}/ExtDefaultStreams.cpp
${LL_SOURCE_DIR}/ExtDistanceJoint.cpp
${LL_SOURCE_DIR}/ExtContactJoint.cpp
${LL_SOURCE_DIR}/ExtExtensions.cpp
${LL_SOURCE_DIR}/ExtFixedJoint.cpp
${LL_SOURCE_DIR}/ExtJoint.cpp
${LL_SOURCE_DIR}/ExtMetaData.cpp
${LL_SOURCE_DIR}/ExtPrismaticJoint.cpp
${LL_SOURCE_DIR}/ExtPvd.cpp
${LL_SOURCE_DIR}/ExtPxStringTable.cpp
${LL_SOURCE_DIR}/ExtRaycastCCD.cpp
${LL_SOURCE_DIR}/ExtRevoluteJoint.cpp
${LL_SOURCE_DIR}/ExtRigidBodyExt.cpp
${LL_SOURCE_DIR}/ExtRigidActorExt.cpp
${LL_SOURCE_DIR}/ExtSceneQueryExt.cpp
${LL_SOURCE_DIR}/ExtSimpleFactory.cpp
${LL_SOURCE_DIR}/ExtSmoothNormals.cpp
${LL_SOURCE_DIR}/ExtSphericalJoint.cpp
${LL_SOURCE_DIR}/ExtTriangleMeshExt.cpp
${LL_SOURCE_DIR}/ExtConstraintHelper.h
${LL_SOURCE_DIR}/ExtCpuWorkerThread.h
${LL_SOURCE_DIR}/ExtD6Joint.h
${LL_SOURCE_DIR}/ExtDefaultCpuDispatcher.h
${LL_SOURCE_DIR}/ExtDistanceJoint.h
${LL_SOURCE_DIR}/ExtContactJoint.h
${LL_SOURCE_DIR}/ExtFixedJoint.h
${LL_SOURCE_DIR}/ExtInertiaTensor.h
${LL_SOURCE_DIR}/ExtJoint.h
${LL_SOURCE_DIR}/ExtJointData.h
${LL_SOURCE_DIR}/ExtJointMetaDataExtensions.h
${LL_SOURCE_DIR}/ExtPlatform.h
${LL_SOURCE_DIR}/ExtPrismaticJoint.h
${LL_SOURCE_DIR}/ExtPvd.h
${LL_SOURCE_DIR}/ExtRevoluteJoint.h
${LL_SOURCE_DIR}/ExtSerialization.h
${LL_SOURCE_DIR}/ExtSharedQueueEntryPool.h
${LL_SOURCE_DIR}/ExtSphericalJoint.h
${LL_SOURCE_DIR}/ExtTaskQueueHelper.h
)
SOURCE_GROUP(src FILES ${PHYSX_EXTENSIONS_SOURCE})
SET(PHYSX_EXTENSIONS_METADATA_SOURCE
${PHYSX_SOURCE_DIR}/physxmetadata/extensions/src/PxExtensionAutoGeneratedMetaDataObjects.cpp
${PHYSX_SOURCE_DIR}/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjectNames.h
${PHYSX_SOURCE_DIR}/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h
${PHYSX_SOURCE_DIR}/physxmetadata/extensions/include/PxExtensionMetaDataObjects.h
)
SOURCE_GROUP(src\\metadata FILES ${PHYSX_EXTENSIONS_METADATA_SOURCE})
SET(PHYSX_EXTENSIONS_HEADERS
${PHYSX_ROOT_DIR}/include/extensions/PxBinaryConverter.h
${PHYSX_ROOT_DIR}/include/extensions/PxBroadPhaseExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxCollectionExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxConstraintExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxContactJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxConvexMeshExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxD6Joint.h
${PHYSX_ROOT_DIR}/include/extensions/PxD6JointCreate.h
${PHYSX_ROOT_DIR}/include/extensions/PxDefaultAllocator.h
${PHYSX_ROOT_DIR}/include/extensions/PxDefaultCpuDispatcher.h
${PHYSX_ROOT_DIR}/include/extensions/PxDefaultErrorCallback.h
${PHYSX_ROOT_DIR}/include/extensions/PxDefaultSimulationFilterShader.h
${PHYSX_ROOT_DIR}/include/extensions/PxDefaultStreams.h
${PHYSX_ROOT_DIR}/include/extensions/PxDistanceJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxContactJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxExtensionsAPI.h
${PHYSX_ROOT_DIR}/include/extensions/PxFixedJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxJointLimit.h
# ${PHYSX_ROOT_DIR}/include/extensions/PxJointRepXSerializer.h
${PHYSX_ROOT_DIR}/include/extensions/PxMassProperties.h
${PHYSX_ROOT_DIR}/include/extensions/PxPrismaticJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxRaycastCCD.h
${PHYSX_ROOT_DIR}/include/extensions/PxRepXSerializer.h
${PHYSX_ROOT_DIR}/include/extensions/PxRepXSimpleType.h
${PHYSX_ROOT_DIR}/include/extensions/PxRevoluteJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxRigidActorExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxRigidBodyExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxSceneQueryExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxSerialization.h
${PHYSX_ROOT_DIR}/include/extensions/PxShapeExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxSimpleFactory.h
${PHYSX_ROOT_DIR}/include/extensions/PxSmoothNormals.h
${PHYSX_ROOT_DIR}/include/extensions/PxSphericalJoint.h
${PHYSX_ROOT_DIR}/include/extensions/PxStringTableExt.h
${PHYSX_ROOT_DIR}/include/extensions/PxTriangleMeshExt.h
)
SOURCE_GROUP(include FILES ${PHYSX_EXTENSIONS_HEADERS})
SET(PHYSX_FILEBUF_HEADERS
${PHYSX_ROOT_DIR}/include/filebuf/PxFileBuf.h
)
SOURCE_GROUP(include FILES ${PHYSX_FILEBUF_HEADERS})
SET(PHYSX_EXTENSIONS_SERIALIZATION_SOURCE
${LL_SOURCE_DIR}/serialization/SnSerialization.cpp
${LL_SOURCE_DIR}/serialization/SnSerializationRegistry.cpp
${LL_SOURCE_DIR}/serialization/SnSerializationRegistry.h
${LL_SOURCE_DIR}/serialization/SnSerialUtils.cpp
${LL_SOURCE_DIR}/serialization/SnSerialUtils.h
)
SOURCE_GROUP(serialization FILES ${PHYSX_EXTENSIONS_SERIALIZATION_SOURCE})
SET(PHYSX_EXTENSIONS_SERIALIZATION_XML_SOURCE
${LL_SOURCE_DIR}/serialization/Xml/SnJointRepXSerializer.cpp
${LL_SOURCE_DIR}/serialization/Xml/SnJointRepXSerializer.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepXCoreSerializer.cpp
${LL_SOURCE_DIR}/serialization/Xml/SnRepXUpgrader.cpp
${LL_SOURCE_DIR}/serialization/Xml/SnXmlSerialization.cpp
${LL_SOURCE_DIR}/serialization/Xml/SnPxStreamOperators.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepX1_0Defaults.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepX3_1Defaults.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepX3_2Defaults.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepXCollection.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepXCoreSerializer.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepXSerializerImpl.h
${LL_SOURCE_DIR}/serialization/Xml/SnRepXUpgrader.h
${LL_SOURCE_DIR}/serialization/Xml/SnSimpleXmlWriter.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlDeserializer.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlImpl.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlMemoryAllocator.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlMemoryPool.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlMemoryPoolStreams.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlReader.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlSerializer.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlSimpleXmlWriter.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlStringToType.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlVisitorReader.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlVisitorWriter.h
${LL_SOURCE_DIR}/serialization/Xml/SnXmlWriter.h
)
SOURCE_GROUP(serialization\\xml FILES ${PHYSX_EXTENSIONS_SERIALIZATION_XML_SOURCE})
SET(PHYSX_EXTENSIONS_SERIALIZATION_FILE_SOURCE
${LL_SOURCE_DIR}/serialization/File/SnFile.h
)
SOURCE_GROUP(serialization\\file FILES ${PHYSX_EXTENSIONS_SERIALIZATION_FILE_SOURCE})
SET(PHYSX_EXTENSIONS_SERIALIZATION_BINARY_SOURCE
${LL_SOURCE_DIR}/serialization/Binary/SnBinaryDeserialization.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnBinarySerialization.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Align.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Convert.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Error.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_MetaData.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Output.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Union.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnSerializationContext.cpp
${LL_SOURCE_DIR}/serialization/Binary/SnConvX.h
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Align.h
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Common.h
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_MetaData.h
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Output.h
${LL_SOURCE_DIR}/serialization/Binary/SnConvX_Union.h
${LL_SOURCE_DIR}/serialization/Binary/SnSerializationContext.h
)
SOURCE_GROUP(serialization\\binary FILES ${PHYSX_EXTENSIONS_SERIALIZATION_BINARY_SOURCE})
ADD_LIBRARY(PhysXExtensions ${PHYSXEXTENSIONS_LIBTYPE}
${PHYSXEXTENSIONS_PLATFORM_SRC_FILES}
${PHYSX_EXTENSIONS_SOURCE}
${PHYSX_EXTENSIONS_METADATA_SOURCE}
${PHYSX_EXTENSIONS_HEADERS}
${PHYSX_FILEBUF_HEADERS}
${PHYSX_EXTENSIONS_SERIALIZATION_SOURCE}
${PHYSX_EXTENSIONS_SERIALIZATION_XML_SOURCE}
${PHYSX_EXTENSIONS_SERIALIZATION_FILE_SOURCE}
${PHYSX_EXTENSIONS_SERIALIZATION_BINARY_SOURCE}
)
INSTALL(FILES ${PHYSX_EXTENSIONS_HEADERS} DESTINATION include/extensions)
INSTALL(FILES ${PHYSX_FILEBUF_HEADERS} DESTINATION include/filebuf)
TARGET_INCLUDE_DIRECTORIES(PhysXExtensions
PRIVATE ${PHYSXEXTENSIONS_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/physxmetadata/core/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxmetadata/extensions/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxextensions/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxextensions/src/serialization/Xml
PRIVATE ${PHYSX_SOURCE_DIR}/physxextensions/src/serialization/Binary
PRIVATE ${PHYSX_SOURCE_DIR}/physxextensions/src/serialization/File
PRIVATE ${PHYSX_SOURCE_DIR}/pvdsdk/src
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src
PRIVATE ${PHYSX_SOURCE_DIR}/pvd/include
PRIVATE ${PHYSX_SOURCE_DIR}/fastxml/include
)
TARGET_LINK_LIBRARIES(PhysXExtensions
PRIVATE ${PHYSXEXTENSIONS_PRIVATE_PLATFORM_LINKED_LIBS}
PUBLIC PhysXFoundation
PUBLIC PhysXPvdSDK
PUBLIC PhysX
)
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(PhysXExtensions
PRIVATE ${PHYSXEXTENSIONS_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXExtensions PROPERTIES
OUTPUT_NAME PhysXExtensions
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXEXTENSIONS_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXExtensions PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXExtensions_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXExtensions_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXExtensions_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXExtensions_static"
)
ENDIF()
IF(PHYSXEXTENSIONS_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXExtensions PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXEXTENSIONS_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXEXTENSIONS_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXEXTENSIONS_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXEXTENSIONS_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXEXTENSIONS_PLATFORM_SRC_FILES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_METADATA_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_FILEBUF_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_SERIALIZATION_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_SERIALIZATION_XML_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_SERIALIZATION_FILE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_EXTENSIONS_SERIALIZATION_BINARY_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXExtensions PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,212 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/foundation)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXFoundation.cmake)
SET(PHYSXFOUNDATION_HEADERS
${PHYSX_ROOT_DIR}/include/PxFoundation.h
)
SOURCE_GROUP(include FILES ${PHYSXFOUNDATION_HEADERS})
SET(PHYSXFOUNDATION_HEADERS_2
${PHYSX_ROOT_DIR}/include/foundation/PxAssert.h
${PHYSX_ROOT_DIR}/include/foundation/PxFoundationConfig.h
${PHYSX_ROOT_DIR}/include/foundation/PxMathUtils.h
)
SOURCE_GROUP(include\\foundation FILES ${PHYSXFOUNDATION_HEADERS_2})
SET(PXSHARED_HEADERS
${PXSHARED_PATH}/include/foundation/Px.h
${PXSHARED_PATH}/include/foundation/PxAllocatorCallback.h
${PXSHARED_PATH}/include/foundation/PxProfiler.h
${PXSHARED_PATH}/include/foundation/PxSharedAssert.h
${PXSHARED_PATH}/include/foundation/PxBitAndData.h
${PXSHARED_PATH}/include/foundation/PxBounds3.h
${PXSHARED_PATH}/include/foundation/PxErrorCallback.h
${PXSHARED_PATH}/include/foundation/PxErrors.h
${PXSHARED_PATH}/include/foundation/PxFlags.h
${PXSHARED_PATH}/include/foundation/PxIntrinsics.h
${PXSHARED_PATH}/include/foundation/PxIO.h
${PXSHARED_PATH}/include/foundation/PxMat33.h
${PXSHARED_PATH}/include/foundation/PxMat44.h
${PXSHARED_PATH}/include/foundation/PxMath.h
${PXSHARED_PATH}/include/foundation/PxMemory.h
${PXSHARED_PATH}/include/foundation/PxPlane.h
${PXSHARED_PATH}/include/foundation/PxPreprocessor.h
${PXSHARED_PATH}/include/foundation/PxQuat.h
${PXSHARED_PATH}/include/foundation/PxSimpleTypes.h
${PXSHARED_PATH}/include/foundation/PxStrideIterator.h
${PXSHARED_PATH}/include/foundation/PxTransform.h
${PXSHARED_PATH}/include/foundation/PxUnionCast.h
${PXSHARED_PATH}/include/foundation/PxVec2.h
${PXSHARED_PATH}/include/foundation/PxVec3.h
${PXSHARED_PATH}/include/foundation/PxVec4.h
)
SOURCE_GROUP(shared\\include FILES ${PXSHARED_HEADERS})
SET(PHYSXFOUNDATION_SOURCE
${LL_SOURCE_DIR}/src/PsAllocator.cpp
${LL_SOURCE_DIR}/src/PsAssert.cpp
${LL_SOURCE_DIR}/src/PsFoundation.cpp
${LL_SOURCE_DIR}/src/PsMathUtils.cpp
${LL_SOURCE_DIR}/src/PsString.cpp
${LL_SOURCE_DIR}/src/PsTempAllocator.cpp
${LL_SOURCE_DIR}/src/PsUtilities.cpp
)
SOURCE_GROUP(src\\src FILES ${PHYSXFOUNDATION_SOURCE})
SET(PHYSXFOUNDATION_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/Ps.h
${LL_SOURCE_DIR}/include/PsAlignedMalloc.h
${LL_SOURCE_DIR}/include/PsAlloca.h
${LL_SOURCE_DIR}/include/PsAllocator.h
${LL_SOURCE_DIR}/include/PsAoS.h
${LL_SOURCE_DIR}/include/PsArray.h
${LL_SOURCE_DIR}/include/PsAtomic.h
${LL_SOURCE_DIR}/include/PsBasicTemplates.h
${LL_SOURCE_DIR}/include/PsBitUtils.h
${LL_SOURCE_DIR}/include/PsBroadcast.h
${LL_SOURCE_DIR}/include/PsCpu.h
${LL_SOURCE_DIR}/include/PsFoundation.h
${LL_SOURCE_DIR}/include/PsFPU.h
${LL_SOURCE_DIR}/include/PsHash.h
${LL_SOURCE_DIR}/include/PsHashInternals.h
${LL_SOURCE_DIR}/include/PsHashMap.h
${LL_SOURCE_DIR}/include/PsHashSet.h
${LL_SOURCE_DIR}/include/PsInlineAllocator.h
${LL_SOURCE_DIR}/include/PsInlineAoS.h
${LL_SOURCE_DIR}/include/PsInlineArray.h
${LL_SOURCE_DIR}/include/PsIntrinsics.h
${LL_SOURCE_DIR}/include/PsMathUtils.h
${LL_SOURCE_DIR}/include/PsMutex.h
${LL_SOURCE_DIR}/include/PsPool.h
${LL_SOURCE_DIR}/include/PsSList.h
${LL_SOURCE_DIR}/include/PsSocket.h
${LL_SOURCE_DIR}/include/PsSort.h
${LL_SOURCE_DIR}/include/PsSortInternals.h
${LL_SOURCE_DIR}/include/PsString.h
${LL_SOURCE_DIR}/include/PsSync.h
${LL_SOURCE_DIR}/include/PsTempAllocator.h
${LL_SOURCE_DIR}/include/PsThread.h
${LL_SOURCE_DIR}/include/PsTime.h
${LL_SOURCE_DIR}/include/PsUserAllocated.h
${LL_SOURCE_DIR}/include/PsUtilities.h
${LL_SOURCE_DIR}/include/PsVecMath.h
${LL_SOURCE_DIR}/include/PsVecMathAoSScalar.h
${LL_SOURCE_DIR}/include/PsVecMathAoSScalarInline.h
${LL_SOURCE_DIR}/include/PsVecMathSSE.h
${LL_SOURCE_DIR}/include/PsVecMathUtilities.h
${LL_SOURCE_DIR}/include/PsVecQuat.h
${LL_SOURCE_DIR}/include/PsVecTransform.h
)
SOURCE_GROUP("src\\include" FILES ${PHYSXFOUNDATION_SOURCE_HEADERS})
ADD_LIBRARY(PhysXFoundation ${PHYSXFOUNDATION_LIBTYPE}
${PHYSXFOUNDATION_SOURCE}
${PHYSXFOUNDATION_SOURCE_HEADERS}
${PHYSXFOUNDATION_HEADERS}
${PHYSXFOUNDATION_HEADERS_2}
${PHYSXFOUNDATION_PLATFORM_FILES}
${PXSHARED_HEADERS}
${PXSHARED_PLATFORM_HEADERS}
)
# Add the headers to the install
INSTALL(FILES ${PHYSXFOUNDATION_HEADERS} DESTINATION include)
INSTALL(FILES ${PHYSXFOUNDATION_HEADERS_2} DESTINATION include/foundation)
INSTALL(FILES ${PHYSXFOUNDATION_SOURCE_HEADERS} DESTINATION source/foundation/include)
INSTALL(FILES ${PXSHARED_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation)
TARGET_INCLUDE_DIRECTORIES(PhysXFoundation
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PXSHARED_PATH}/include
PRIVATE ${LL_SOURCE_DIR}/include
PRIVATE ${PHYSXFOUNDATION_PLATFORM_INCLUDES}
INTERFACE $<INSTALL_INTERFACE:include>$<BUILD_INTERFACE:${PHYSX_ROOT_DIR}/include>
INTERFACE $<INSTALL_INTERFACE:../PxShared/include>$<BUILD_INTERFACE:${PXSHARED_PATH}/include>
# FIXME: This is really terrible! Don't export src directories
INTERFACE $<INSTALL_INTERFACE:source/foundation/include>$<BUILD_INTERFACE:${LL_SOURCE_DIR}/include>
)
TARGET_COMPILE_DEFINITIONS(PhysXFoundation
PRIVATE ${PHYSXFOUNDATION_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXFoundation PROPERTIES
OUTPUT_NAME PhysXFoundation
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXFOUNDATION_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXFoundation PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXFoundation_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXFoundation_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXFoundation_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXFoundation_static"
)
ENDIF()
IF(PHYSXFOUNDATION_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXFoundation PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXFOUNDATION_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXFOUNDATION_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXFOUNDATION_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXFOUNDATION_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
# Add linked libraries
TARGET_LINK_LIBRARIES(PhysXFoundation
PRIVATE ${PHYSXFOUNDATION_PLATFORM_LINKED_LIBS}
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXFOUNDATION_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXFOUNDATION_SOURCE_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXFOUNDATION_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXFOUNDATION_HEADERS_2})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXFOUNDATION_PLATFORM_FILES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PXSHARED_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PXSHARED_PLATFORM_HEADERS})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXFoundation PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
IF(PLATFORM_COMPILE_FLAGS)
SET_TARGET_PROPERTIES(PhysXFoundation PROPERTIES COMPILE_FLAGS ${PLATFORM_COMPILE_FLAGS})
ENDIF()

View File

@ -0,0 +1,186 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/pvd)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXPvdSDK.cmake)
SET(PHYSXPVDSDK_HEADERS
${PHYSX_ROOT_DIR}/include/pvd/PxPvd.h
${PHYSX_ROOT_DIR}/include/pvd/PxPvdTransport.h
)
SOURCE_GROUP(include FILES ${PHYSXPVDSDK_HEADERS})
SET(PHYSXPVDSDK_SOURCE
${LL_SOURCE_DIR}/src/PxProfileContextProvider.h
${LL_SOURCE_DIR}/src/PxProfileContextProviderImpl.h
${LL_SOURCE_DIR}/src/PxProfileDataBuffer.h
${LL_SOURCE_DIR}/src/PxProfileDataParsing.h
${LL_SOURCE_DIR}/src/PxProfileEventBuffer.h
${LL_SOURCE_DIR}/src/PxProfileEventBufferAtomic.h
${LL_SOURCE_DIR}/src/PxProfileEventBufferClient.h
${LL_SOURCE_DIR}/src/PxProfileEventBufferClientManager.h
${LL_SOURCE_DIR}/src/PxProfileEventId.h
${LL_SOURCE_DIR}/src/PxProfileEventImpl.cpp
${LL_SOURCE_DIR}/src/PxProfileEventMutex.h
${LL_SOURCE_DIR}/src/PxProfileEventNames.h
${LL_SOURCE_DIR}/src/PxProfileEvents.h
${LL_SOURCE_DIR}/src/PxProfileEventSender.h
${LL_SOURCE_DIR}/src/PxProfileEventSerialization.h
${LL_SOURCE_DIR}/src/PxProfileMemory.h
${LL_SOURCE_DIR}/src/PxProfileMemoryBuffer.h
${LL_SOURCE_DIR}/src/PxProfileMemoryEventBuffer.h
${LL_SOURCE_DIR}/src/PxProfileMemoryEvents.h
${LL_SOURCE_DIR}/src/PxProfileScopedEvent.h
${LL_SOURCE_DIR}/src/PxProfileScopedMutexLock.h
${LL_SOURCE_DIR}/src/PxPvdProfileZone.h
${LL_SOURCE_DIR}/src/PxProfileZoneImpl.h
${LL_SOURCE_DIR}/src/PxProfileZoneManager.h
${LL_SOURCE_DIR}/src/PxProfileZoneManagerImpl.h
${LL_SOURCE_DIR}/src/PxPvd.cpp
${LL_SOURCE_DIR}/src/PxPvdBits.h
${LL_SOURCE_DIR}/src/PxPvdByteStreams.h
${LL_SOURCE_DIR}/src/PxPvdCommStreamEvents.h
${LL_SOURCE_DIR}/src/PxPvdCommStreamEventSink.h
${LL_SOURCE_DIR}/src/PxPvdCommStreamTypes.h
${LL_SOURCE_DIR}/src/PxPvdDataStream.cpp
${LL_SOURCE_DIR}/src/PxPvdDefaultFileTransport.cpp
${LL_SOURCE_DIR}/src/PxPvdDefaultFileTransport.h
${LL_SOURCE_DIR}/src/PxPvdDefaultSocketTransport.cpp
${LL_SOURCE_DIR}/src/PxPvdDefaultSocketTransport.h
${LL_SOURCE_DIR}/src/PxPvdFoundation.h
${LL_SOURCE_DIR}/src/PxPvdImpl.cpp
${LL_SOURCE_DIR}/src/PxPvdImpl.h
${LL_SOURCE_DIR}/src/PxPvdInternalByteStreams.h
${LL_SOURCE_DIR}/src/PxPvdMarshalling.h
${LL_SOURCE_DIR}/src/PxPvdMemClient.cpp
${LL_SOURCE_DIR}/src/PxPvdMemClient.h
${LL_SOURCE_DIR}/src/PxPvdObjectModelInternalTypeDefs.h
${LL_SOURCE_DIR}/src/PxPvdObjectModelInternalTypes.h
${LL_SOURCE_DIR}/src/PxPvdObjectModelMetaData.cpp
${LL_SOURCE_DIR}/src/PxPvdObjectModelMetaData.h
${LL_SOURCE_DIR}/src/PxPvdObjectRegistrar.cpp
${LL_SOURCE_DIR}/src/PxPvdObjectRegistrar.h
${LL_SOURCE_DIR}/src/PxPvdProfileZoneClient.cpp
${LL_SOURCE_DIR}/src/PxPvdProfileZoneClient.h
${LL_SOURCE_DIR}/src/PxPvdUserRenderer.cpp
${LL_SOURCE_DIR}/src/PxPvdUserRenderImpl.h
${LL_SOURCE_DIR}/src/PxPvdUserRenderTypes.h
)
SOURCE_GROUP(src\\src FILES ${PHYSXPVDSDK_SOURCE})
SET(PHYSXPVDSDK_INTERNAL_HEADERS
${LL_SOURCE_DIR}/include/PsPvd.h
${LL_SOURCE_DIR}/include/PxProfileAllocatorWrapper.h
${LL_SOURCE_DIR}/include/PxPvdClient.h
${LL_SOURCE_DIR}/include/PxPvdDataStream.h
${LL_SOURCE_DIR}/include/PxPvdDataStreamHelpers.h
${LL_SOURCE_DIR}/include/PxPvdErrorCodes.h
${LL_SOURCE_DIR}/include/PxPvdObjectModelBaseTypes.h
${LL_SOURCE_DIR}/include/PxPvdRenderBuffer.h
${LL_SOURCE_DIR}/include/PxPvdUserRenderer.h
)
SOURCE_GROUP(src\\include FILES ${PHYSXPVDSDK_INTERNAL_HEADERS})
SET(PHYSXPVDSDK_FILEBUF_FILES
${PHYSX_SOURCE_DIR}/filebuf/include/PsAsciiConversion.h
${PHYSX_SOURCE_DIR}/filebuf/include/PsAsciiConversion.inl
${PHYSX_SOURCE_DIR}/filebuf/include/PsFileBuffer.h
${PHYSX_SOURCE_DIR}/filebuf/include/PsIOStream.h
${PHYSX_SOURCE_DIR}/filebuf/include/PsIOStream.inl
${PHYSX_SOURCE_DIR}/filebuf/include/PsMemoryBuffer.h
)
SOURCE_GROUP(filebuf\\include FILES ${PHYSXPVDSDK_FILEBUF_FILES})
ADD_LIBRARY(PhysXPvdSDK ${PHYSXPVDSDK_LIBTYPE}
${PHYSXPVDSDK_HEADERS}
${PHYSXPVDSDK_FILEBUF_FILES}
${PHYSXPVDSDK_INTERNAL_HEADERS}
${PHYSXPVDSDK_SOURCE}
${PHYSXPVDSDK_PLATFORM_FILES}
)
TARGET_INCLUDE_DIRECTORIES(PhysXPvdSDK
PRIVATE ${PHYSXPVDSDK_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${LL_SOURCE_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/filebuf/include
)
TARGET_COMPILE_DEFINITIONS(PhysXPvdSDK
PRIVATE ${PHYSXPVDSDK_COMPILE_DEFS}
)
# Add linked libraries
TARGET_LINK_LIBRARIES(PhysXPvdSDK
PUBLIC ${PHYSXPVDSDK_PLATFORM_LINKED_LIBS}
PUBLIC PhysXFoundation
)
SET_TARGET_PROPERTIES(PhysXPvdSDK PROPERTIES
OUTPUT_NAME PhysXPvdSDK
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXPVDSDK_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXPvdSDK PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXPvdSDK_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXPvdSDK_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXPvdSDK_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXPvdSDK_static"
)
ENDIF()
IF(PHYSXPVDSDK_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXPvdSDK PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXPVDSDK_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXPVDSDK_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXPVDSDK_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXPVDSDK_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXPVDSDK_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXPVDSDK_INTERNAL_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXPVDSDK_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXPVDSDK_PLATFORM_FILES})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXPVDSDK_FILEBUF_FILES})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXPvdSDK PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,101 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/task)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXTask.cmake)
SET(PHYSXTASK_HEADERS
${PHYSX_ROOT_DIR}/include/task/PxCpuDispatcher.h
${PHYSX_ROOT_DIR}/include/task/PxTask.h
${PHYSX_ROOT_DIR}/include/task/PxTaskDefine.h
${PHYSX_ROOT_DIR}/include/task/PxTaskManager.h
)
SOURCE_GROUP(include FILES ${PHYSXTASK_HEADERS})
SET(PHYSXTASK_SOURCE
${LL_SOURCE_DIR}/src/TaskManager.cpp
)
SOURCE_GROUP(src FILES ${PHYSXTASK_SOURCE})
ADD_LIBRARY(PhysXTask ${PHYSXTASK_LIBTYPE}
${PHYSXTASK_HEADERS}
${PHYSXTASK_SOURCE}
)
INSTALL(FILES ${PHYSXTASK_HEADERS} DESTINATION include/task)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(PhysXTask
PRIVATE ${PHYSXTASK_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/cudamanager/include
)
TARGET_COMPILE_DEFINITIONS(PhysXTask
PRIVATE ${PHYSXTASK_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXTask PROPERTIES
OUTPUT_NAME PhysXTask
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXTASK_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXTask PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXTask_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXTask_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXTask_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXTask_static"
)
ENDIF()
IF(PHYSXTASK_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXTask PROPERTIES
COMPILE_PDB_NAME_DEBUG "${PHYSXTASK_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${PHYSXTASK_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${PHYSXTASK_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${PHYSXTASK_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXTASK_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSXTASK_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXTask PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,169 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/physxvehicle/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/PhysXVehicle.cmake)
SET(PHYSX_VEHICLE_HEADERS
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleComponents.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleDrive.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleDrive4W.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleDriveNW.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleDriveTank.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleNoDrive.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleSDK.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleShaders.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleTireFriction.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleUpdate.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleUtil.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleUtilControl.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleUtilSetup.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleUtilTelemetry.h
${PHYSX_ROOT_DIR}/include/vehicle/PxVehicleWheels.h
)
SOURCE_GROUP(include FILES ${PHYSX_VEHICLE_HEADERS})
SET(PHYSX_VEHICLE_SOURCE
${LL_SOURCE_DIR}/PxVehicleComponents.cpp
${LL_SOURCE_DIR}/PxVehicleDrive.cpp
${LL_SOURCE_DIR}/PxVehicleDrive4W.cpp
${LL_SOURCE_DIR}/PxVehicleDriveNW.cpp
${LL_SOURCE_DIR}/PxVehicleDriveTank.cpp
${LL_SOURCE_DIR}/PxVehicleMetaData.cpp
${LL_SOURCE_DIR}/PxVehicleNoDrive.cpp
${LL_SOURCE_DIR}/PxVehicleSDK.cpp
${LL_SOURCE_DIR}/PxVehicleSerialization.cpp
${LL_SOURCE_DIR}/PxVehicleSuspWheelTire4.cpp
${LL_SOURCE_DIR}/PxVehicleTireFriction.cpp
${LL_SOURCE_DIR}/PxVehicleUpdate.cpp
${LL_SOURCE_DIR}/PxVehicleWheels.cpp
${LL_SOURCE_DIR}/VehicleUtilControl.cpp
${LL_SOURCE_DIR}/VehicleUtilSetup.cpp
${LL_SOURCE_DIR}/VehicleUtilTelemetry.cpp
${LL_SOURCE_DIR}/PxVehicleDefaults.h
${LL_SOURCE_DIR}/PxVehicleLinearMath.h
${LL_SOURCE_DIR}/PxVehicleSerialization.h
${LL_SOURCE_DIR}/PxVehicleSuspLimitConstraintShader.h
${LL_SOURCE_DIR}/PxVehicleSuspWheelTire4.h
)
SOURCE_GROUP(src FILES ${PHYSX_VEHICLE_SOURCE})
SET(PHYSX_VEHICLE_METADATA_HEADERS
${LL_SOURCE_DIR}/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjectNames.h
${LL_SOURCE_DIR}/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h
${LL_SOURCE_DIR}/physxmetadata/include/PxVehicleMetaDataObjects.h
)
SOURCE_GROUP(metadata\\include FILES ${PHYSX_VEHICLE_METADATA_HEADERS})
SET(PHYSX_VEHICLE_METADATA_SOURCE
${LL_SOURCE_DIR}/physxmetadata/src/PxVehicleAutoGeneratedMetaDataObjects.cpp
${LL_SOURCE_DIR}/physxmetadata/src/PxVehicleMetaDataObjects.cpp
)
SOURCE_GROUP(metadata\\src FILES ${PHYSX_VEHICLE_METADATA_SOURCE})
ADD_LIBRARY(PhysXVehicle ${PHYSXVEHICLE_LIBTYPE}
${PHYSX_VEHICLE_SOURCE}
${PHYSX_VEHICLE_HEADERS}
${PHYSX_VEHICLE_METADATA_HEADERS}
${PHYSX_VEHICLE_METADATA_SOURCE}
)
INSTALL(FILES ${PHYSX_VEHICLE_HEADERS} DESTINATION include/vehicle)
TARGET_INCLUDE_DIRECTORIES(PhysXVehicle
PRIVATE ${PHYSXVEHICLE_PLATFORM_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxvehicle/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxvehicle/src/physxmetadata/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxmetadata/extensions/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxmetadata/core/include
PRIVATE ${PHYSX_SOURCE_DIR}/physxextensions/src/serialization/Xml
PRIVATE ${PHYSX_SOURCE_DIR}/pvdsdk/src
PRIVATE ${PHYSX_SOURCE_DIR}/pvd/include
)
# No linked libraries
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(PhysXVehicle
PRIVATE ${PHYSXVEHICLE_COMPILE_DEFS}
)
SET_TARGET_PROPERTIES(PhysXVehicle PROPERTIES
OUTPUT_NAME PhysXVehicle
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXVEHICLE_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(PhysXVehicle PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "PhysXVehicle_static"
ARCHIVE_OUTPUT_NAME_CHECKED "PhysXVehicle_static"
ARCHIVE_OUTPUT_NAME_PROFILE "PhysXVehicle_static"
ARCHIVE_OUTPUT_NAME_RELEASE "PhysXVehicle_static"
)
ENDIF()
IF(PHYSXVEHICLE_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(PhysXVehicle PROPERTIES
COMPILE_PDB_NAME_DEBUG ${PHYSXVEHICLE_COMPILE_PDB_NAME_DEBUG}
COMPILE_PDB_NAME_CHECKED ${PHYSXVEHICLE_COMPILE_PDB_NAME_CHECKED}
COMPILE_PDB_NAME_PROFILE ${PHYSXVEHICLE_COMPILE_PDB_NAME_PROFILE}
COMPILE_PDB_NAME_RELEASE ${PHYSXVEHICLE_COMPILE_PDB_NAME_RELEASE}
)
ENDIF()
TARGET_LINK_LIBRARIES(PhysXVehicle
PUBLIC ${PHYSXVEHICLE_PLATFORM_LINKED_LIBS} PhysXFoundation PhysXPvdSDK
)
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_VEHICLE_SOURCE})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_VEHICLE_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_VEHICLE_METADATA_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${PHYSX_VEHICLE_METADATA_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(PhysXVehicle PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,155 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/scenequery/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/SceneQuery.cmake)
SET(SCENEQUERY_BASE_DIR ${PHYSX_ROOT_DIR}/source/scenequery)
SET(SCENEQUERY_HEADERS
${SCENEQUERY_BASE_DIR}/include/SqPruner.h
${SCENEQUERY_BASE_DIR}/include/SqPrunerMergeData.h
${SCENEQUERY_BASE_DIR}/include/SqPruningStructure.h
${SCENEQUERY_BASE_DIR}/include/SqSceneQueryManager.h
)
SOURCE_GROUP(include FILES ${SCENEQUERY_HEADERS})
SET(SCENEQUERY_SOURCE
${SCENEQUERY_BASE_DIR}/src/SqAABBPruner.cpp
${SCENEQUERY_BASE_DIR}/src/SqAABBPruner.h
${SCENEQUERY_BASE_DIR}/src/SqAABBTree.cpp
${SCENEQUERY_BASE_DIR}/src/SqAABBTree.h
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBPruner.cpp
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBPruner.h
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBPrunerCore.cpp
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBPrunerCore.h
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBTree.cpp
${SCENEQUERY_BASE_DIR}/src/SqIncrementalAABBTree.h
${SCENEQUERY_BASE_DIR}/src/SqAABBTreeUpdateMap.cpp
${SCENEQUERY_BASE_DIR}/src/SqAABBTreeUpdateMap.h
${SCENEQUERY_BASE_DIR}/src/SqBounds.cpp
${SCENEQUERY_BASE_DIR}/src/SqBounds.h
${SCENEQUERY_BASE_DIR}/src/SqCompoundPruner.cpp
${SCENEQUERY_BASE_DIR}/src/SqCompoundPruner.h
${SCENEQUERY_BASE_DIR}/src/SqCompoundPruningPool.cpp
${SCENEQUERY_BASE_DIR}/src/SqCompoundPruningPool.h
${SCENEQUERY_BASE_DIR}/src/SqBucketPruner.cpp
${SCENEQUERY_BASE_DIR}/src/SqBucketPruner.h
${SCENEQUERY_BASE_DIR}/src/SqExtendedBucketPruner.cpp
${SCENEQUERY_BASE_DIR}/src/SqExtendedBucketPruner.h
${SCENEQUERY_BASE_DIR}/src/SqMetaData.cpp
${SCENEQUERY_BASE_DIR}/src/SqPruningPool.cpp
${SCENEQUERY_BASE_DIR}/src/SqPruningPool.h
${SCENEQUERY_BASE_DIR}/src/SqPruningStructure.cpp
${SCENEQUERY_BASE_DIR}/src/SqSceneQueryManager.cpp
${SCENEQUERY_BASE_DIR}/src/SqTypedef.h
)
SOURCE_GROUP(src FILES ${SCENEQUERY_SOURCE})
ADD_LIBRARY(SceneQuery ${SCENEQUERY_LIBTYPE}
${SCENEQUERY_HEADERS}
${SCENEQUERY_SOURCE}
)
# Target specific compile options
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(SceneQuery
PRIVATE ${SCENEQUERY_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/scenequery/include
PRIVATE ${PHYSX_SOURCE_DIR}/simulationcontroller/include
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src
PRIVATE ${PHYSX_SOURCE_DIR}/physx/src/buffering
PRIVATE ${PHYSX_SOURCE_DIR}/pvd/include
)
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(SceneQuery
# Common to all configurations
PRIVATE ${SCENEQUERY_COMPILE_DEFS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND SCENEQUERY_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(SceneQuery PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "SceneQuery_static"
ARCHIVE_OUTPUT_NAME_CHECKED "SceneQuery_static"
ARCHIVE_OUTPUT_NAME_PROFILE "SceneQuery_static"
ARCHIVE_OUTPUT_NAME_RELEASE "SceneQuery_static"
)
ENDIF()
IF(SCENEQUERY_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(SceneQuery PROPERTIES
COMPILE_PDB_NAME_DEBUG "${SCENEQUERY_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${SCENEQUERY_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${SCENEQUERY_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${SCENEQUERY_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${SCENEQUERY_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${SCENEQUERY_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(SceneQuery PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,203 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController common
#
SET(PHYSX_SOURCE_DIR ${PHYSX_ROOT_DIR}/source)
SET(LL_SOURCE_DIR ${PHYSX_SOURCE_DIR}/simulationcontroller/src)
# Include here after the directories are defined so that the platform specific file can use the variables.
include(${PHYSX_ROOT_DIR}/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/SimulationController.cmake)
SET(SIMULATIONCONTROLLER_BASE_DIR ${PHYSX_ROOT_DIR}/source/simulationcontroller)
SET(SIMULATIONCONTROLLER_HEADERS
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScActorCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScArticulationCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScArticulationJointCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScBodyCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScConstraintCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScIterators.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScMaterialCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScPhysics.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScRigidCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScScene.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScShapeCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/include/ScStaticCore.h
)
SOURCE_GROUP(include FILES ${SIMULATIONCONTROLLER_HEADERS})
SET(SIMULATIONCONTROLLER_SOURCE
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScActorCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScActorPair.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScActorSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScActorSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationJointCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationJointSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationJointSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScArticulationSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScBodyCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScBodySim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScBodySim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScClient.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintGroupNode.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintGroupNode.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintInteraction.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintInteraction.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintProjectionManager.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintProjectionManager.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintProjectionTree.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintProjectionTree.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScConstraintSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScContactReportBuffer.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScContactStream.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScElementInteractionMarker.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScElementInteractionMarker.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScElementSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScElementSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScElementSimInteraction.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScInteraction.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScInteraction.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScInteractionFlags.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScIterators.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScMetaData.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScNPhaseCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScNPhaseCore.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScObjectIDTracker.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScPhysics.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScRigidCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScRigidSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScRigidSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScScene.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScShapeCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScShapeInteraction.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScShapeInteraction.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScShapeSim.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScShapeSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSimStateData.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSimStats.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSimStats.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSimulationController.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSimulationController.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSqBoundsManager.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScSqBoundsManager.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScStaticCore.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScStaticSim.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScTriggerInteraction.cpp
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScTriggerInteraction.h
${SIMULATIONCONTROLLER_BASE_DIR}/src/ScTriggerPairs.h
)
SOURCE_GROUP(src FILES ${SIMULATIONCONTROLLER_SOURCE})
ADD_LIBRARY(SimulationController ${SIMULATIONCONTROLLER_LIBTYPE}
${SIMULATIONCONTROLLER_HEADERS}
${SIMULATIONCONTROLLER_SOURCE}
)
GET_TARGET_PROPERTY(PHYSXFOUNDATION_INCLUDES PhysXFoundation INTERFACE_INCLUDE_DIRECTORIES)
TARGET_INCLUDE_DIRECTORIES(SimulationController
PRIVATE ${SIMULATIONCONTROLLER_PLATFORM_INCLUDES}
PRIVATE ${PHYSXFOUNDATION_INCLUDES}
PRIVATE ${PHYSX_ROOT_DIR}/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/common/src
PRIVATE ${PHYSX_SOURCE_DIR}/physxgpu/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/include
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/contact
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/common
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/convex
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/distance
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/sweep
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/gjk
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/intersection
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/mesh
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/hf
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/pcm
PRIVATE ${PHYSX_SOURCE_DIR}/geomutils/src/ccd
PRIVATE ${PHYSX_SOURCE_DIR}/simulationcontroller/include
PRIVATE ${PHYSX_SOURCE_DIR}/simulationcontroller/src
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/api/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/collision
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/common/include/utils
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevel/software/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowleveldynamics/include
PRIVATE ${PHYSX_SOURCE_DIR}/lowlevelaabb/include
)
# Use generator expressions to set config specific preprocessor definitions
TARGET_COMPILE_DEFINITIONS(SimulationController
# Common to all configurations
PRIVATE ${SIMULATIONCONTROLLER_COMPILE_DEFS}
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND SIMULATIONCONTROLLER_LIBTYPE STREQUAL "STATIC")
SET_TARGET_PROPERTIES(SimulationController PROPERTIES
ARCHIVE_OUTPUT_NAME_DEBUG "SimulationController_static"
ARCHIVE_OUTPUT_NAME_CHECKED "SimulationController_static"
ARCHIVE_OUTPUT_NAME_PROFILE "SimulationController_static"
ARCHIVE_OUTPUT_NAME_RELEASE "SimulationController_static"
)
ENDIF()
IF(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_DEBUG)
SET_TARGET_PROPERTIES(SimulationController PROPERTIES
COMPILE_PDB_NAME_DEBUG "${SIMULATIONCONTROLLER_COMPILE_PDB_NAME_DEBUG}"
COMPILE_PDB_NAME_CHECKED "${SIMULATIONCONTROLLER_COMPILE_PDB_NAME_CHECKED}"
COMPILE_PDB_NAME_PROFILE "${SIMULATIONCONTROLLER_COMPILE_PDB_NAME_PROFILE}"
COMPILE_PDB_NAME_RELEASE "${SIMULATIONCONTROLLER_COMPILE_PDB_NAME_RELEASE}"
)
ENDIF()
IF(PX_GENERATE_SOURCE_DISTRO)
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${SIMULATIONCONTROLLER_HEADERS})
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${SIMULATIONCONTROLLER_SOURCE})
ENDIF()
# enable -fPIC so we can link static libs with the editor
SET_TARGET_PROPERTIES(SimulationController PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,114 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
# We define the CXX flags for this CMakeLists and all others that are included afterwards. This is a GLOBAL setting.
# If/when the solutions go standalone (say, samples and visual tests) - those CMakeLists will need to be fixed.
STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE)
SET(PHYSX_WARNING_DISABLES "-Wno-invalid-offsetof -Wno-maybe-uninitialized -Wno-unused-variable -Wno-variadic-macros -Wno-array-bounds -Wno-strict-aliasing")
IF(${ANDROID_ABI} STREQUAL "armeabi-v7a")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
ELSEIF(${ANDROID_ABI} STREQUAL "armeabi-v7a with NEON")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
ELSEIF(${ANDROID_ABI} STREQUAL "arm64-v8a")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} " CACHE INTERNAL "PhysX CXX")
ELSEIF(${ANDROID_ABI} STREQUAL "x86")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -fpack-struct=8 -malign-double " CACHE INTERNAL "PhysX CXX")
ELSEIF(${ANDROID_ABI} STREQUAL "x86_64")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -mstackrealign -msse3 " CACHE INTERNAL "PhysX CXX")
ENDIF()
# Build debug info for all configurations
SET(PHYSX_CXX_FLAGS_DEBUG "-O0 -g" CACHE INTERNAL "PhysX Debug CXX Flags")
SET(PHYSX_CXX_FLAGS_CHECKED "-O3 -g" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "-O3 -g" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "-O3 -g" CACHE INTERNAL "PhysX Release CXX Flags")
# These flags are local to the directory the CMakeLists.txt is in
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# Controls PX_NVTX for all projects
SET(NVTX_FLAG "PX_NVTX=0")
IF(PX_SCALAR_MATH)
SET(SCALAR_MATH_FLAG "PX_SIMD_DISABLED")
ENDIF()
# Disable cuda and dx for all projects on Android
SET(PHYSX_ANDROID_COMPILE_DEFS "__STDC_LIMIT_MACROS;${SCALAR_MATH_FLAG};${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_ANDROID_DEBUG_COMPILE_DEFS "_DEBUG;PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_ANDROID_CHECKED_COMPILE_DEFS "NDEBUG;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_ANDROID_PROFILE_COMPILE_DEFS "NDEBUG;PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_ANDROID_RELEASE_COMPILE_DEFS "NDEBUG;PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
SET(CMAKE_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
SET(CMAKE_PROFILE_POSTFIX "${CMAKE_PROFILE_POSTFIX}")
SET(CMAKE_CHECKED_POSTFIX "${CMAKE_CHECKED_POSTFIX}")
SET(CMAKE_RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}")
# Include all of the projects
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")

View File

@ -0,0 +1,42 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)

View File

@ -0,0 +1,53 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/linux
${PHYSX_SOURCE_DIR}/LowLevel/software/include/linux
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/linux
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/linux
)
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVEL_LIBTYPE OBJECT)
SET(LOWLEVEL_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,52 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/linux
${PHYSX_SOURCE_DIR}/LowLevelAABB/linux/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELAABB_LIBTYPE OBJECT)
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,49 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics
#
SET(LOWLEVELDYNAMICS_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/linux
${PHYSX_SOURCE_DIR}/lowlevel/software/include/linux
${PHYSX_SOURCE_DIR}/lowleveldynamics/include/linux
${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline/linux
)
SET(LOWLEVELDYNAMICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELDYNAMICS_LIBTYPE OBJECT)

View File

@ -0,0 +1,68 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION)
#
SET(PHYSX_PLATFORM_INCLUDES
${NVTOOLSEXT_INCLUDE_DIRS}
)
SET(PHYSX_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:LowLevel>
$<TARGET_OBJECTS:LowLevelAABB>
$<TARGET_OBJECTS:LowLevelDynamics>
$<TARGET_OBJECTS:PhysXTask>
$<TARGET_OBJECTS:SceneQuery>
$<TARGET_OBJECTS:SimulationController>
)
SET(PHYSX_PLATFORM_SRC_FILES
${PX_SOURCE_DIR}/device/linux/PhysXIndicatorLinux.cpp
${PX_SOURCE_DIR}/gpu/PxGpu.cpp
${PX_SOURCE_DIR}/gpu/PxPhysXGpuModuleLoader.cpp
${PHYSX_PLATFORM_OBJECT_FILES}
)
SET(PHYSX_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_CORE_EXPORTS
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE STATIC)
ELSE()
SET(PHYSX_LIBTYPE SHARED)
ENDIF()

View File

@ -0,0 +1,44 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic
#
SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC)

View File

@ -0,0 +1,70 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon
#
SET(PXCOMMON_PLATFORM_SRC_FILES
)
SET(PXCOMMON_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/linux
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS}>
)
ELSE()
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_COMMON_EXPORTS;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS}>
)
ENDIF()
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOMMON_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOMMON_LIBTYPE SHARED)
ENDIF()
SET(PXCOMMON_PLATFORM_LINK_FLAGS " ")

View File

@ -0,0 +1,61 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking
#
IF(NOT PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOOKING_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_COMMON_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_CORE_EXPORTS
)
ELSE()
SET(PXCOOKING_LIBTYPE_DEFS
PX_PHYSX_STATIC_LIB
)
ENDIF()
SET(PHYSXCOOKING_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};${PXCOOKING_LIBTYPE_DEFS};PX_COOKING;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCOOKING_PLATFORM_SRC_FILES
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOOKING_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOOKING_LIBTYPE SHARED)
ENDIF()
SET(PHYSXCOOKING_LINK_FLAGS " ")

View File

@ -0,0 +1,54 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions
#
SET(PHYSXEXTENSIONS_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/linux
)
SET(PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:FastXml>
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
${PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES}
)
SET(PHYSXEXTENSIONS_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXEXTENSIONS_LIBTYPE STATIC)

View File

@ -0,0 +1,92 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation
#
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXFOUNDATION_LIBTYPE STATIC)
ELSE()
SET(PHYSXFOUNDATION_LIBTYPE SHARED)
SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS)
ENDIF()
SET(PXSHARED_PLATFORM_HEADERS
${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h
)
SOURCE_GROUP(shared\\include\\unix FILES ${PXSHARED_PLATFORM_HEADERS})
SET(PHYSXFOUNDATION_PLATFORM_FILES
${LL_SOURCE_DIR}/src/unix/PsUnixAtomic.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixCpu.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixFPU.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixMutex.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixPrintString.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSList.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSocket.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSync.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixThread.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixTime.cpp
${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c
)
SOURCE_GROUP("src\\src\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_FILES})
SET(PHYSXFOUNDATION_PLATFORM_INCLUDES
${LL_SOURCE_DIR}/include/linux
${ANDROID_NDK}/sources/android/cpufeatures
)
SET(PHYSXFOUNDATION_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/unix/PsUnixInlineAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixTrigConstants.h
${LL_SOURCE_DIR}/include/unix/PsUnixAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixIntrinsics.h
${LL_SOURCE_DIR}/include/unix/PsUnixFPU.h
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_3
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonAoS.h
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonInlineAoS.h
)
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS} DESTINATION source/foundation/include/unix)
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_3} DESTINATION source/foundation/include/unix/neon)
INSTALL(FILES ${PXSHARED_PLATFORM_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation/unix)
SET(PHYSXFOUNDATION_PLATFORM_LINKED_LIBS log)

View File

@ -0,0 +1,42 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK
#
SET(PHYSXPVDSDK_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXPVDSDK_LIBTYPE STATIC)

View File

@ -0,0 +1,42 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask
#
SET(PHYSXTASK_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXTASK_LIBTYPE OBJECT)

View File

@ -0,0 +1,43 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle
#
SET(PHYSXVEHICLE_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXVEHICLE_LIBTYPE STATIC)

View File

@ -0,0 +1,47 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery
#
SET(SCENEQUERY_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/linux
)
SET(SCENEQUERY_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(SCENEQUERY_LIBTYPE OBJECT)

View File

@ -0,0 +1,48 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController
#
SET(SIMULATIONCONTROLLER_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/linux
${PHYSX_SOURCE_DIR}/LowLevel/linux/include
)
SET(SIMULATIONCONTROLLER_COMPILE_DEFS
# Common to all configurations
${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};>
)
SET(SIMULATIONCONTROLLER_LIBTYPE OBJECT)

View File

@ -0,0 +1,92 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -Werror -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
SET(CMAKE_SHARED_LINKER_FLAGS "")
# Build debug info for all configurations
SET(PHYSX_CXX_FLAGS_DEBUG "-O0 -g" CACHE INTERNAL "PhysX Debug CXX Flags")
SET(PHYSX_CXX_FLAGS_CHECKED "-O3 -g" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "-O3 -g" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "-O3 -g" CACHE INTERNAL "PhysX Release CXX Flags")
# These flags are local to the directory the CMakeLists.txt is in
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# Controls PX_NVTX for all projects
SET(NVTX_FLAG "PX_NVTX=0")
# Disable cuda and dx for all projects on iOS
SET(PHYSX_IOS_COMPILE_DEFS "DISABLE_CUDA_PHYSX;${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_IOS_DEBUG_COMPILE_DEFS "_DEBUG;PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_IOS_CHECKED_COMPILE_DEFS "NDEBUG;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_IOS_PROFILE_COMPILE_DEFS "NDEBUG;PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_IOS_RELEASE_COMPILE_DEFS "NDEBUG;PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
# Include all of the projects
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")

View File

@ -0,0 +1,44 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
# Use generator expressions to set config specific preprocessor definitions
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)

View File

@ -0,0 +1,51 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/ios
${PHYSX_SOURCE_DIR}/LowLevel/software/include/ios
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/ios
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/ios
)
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVEL_PLATFORM_LINK_FLAGS " ")
SET(LOWLEVEL_LIBTYPE OBJECT)

View File

@ -0,0 +1,53 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/ios
${PHYSX_SOURCE_DIR}/LowLevelAABB/ios/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS " ")
SET(LOWLEVELAABB_LIBTYPE OBJECT)

View File

@ -0,0 +1,52 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics
#
SET(LOWLEVELDYNAMICS_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/ios
${PHYSX_SOURCE_DIR}/lowlevel/software/include/ios
${PHYSX_SOURCE_DIR}/lowleveldynamics/include/ios
${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline/ios
)
# Use generator expressions to set config specific preprocessor definitions
SET(LOWLEVELDYNAMICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELDYNAMICS_LIBTYPE OBJECT)

View File

@ -0,0 +1,72 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION)
#
SET(PHYSX_PLATFORM_INCLUDES
)
SET(PHYSX_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:LowLevel>
$<TARGET_OBJECTS:LowLevelAABB>
$<TARGET_OBJECTS:LowLevelDynamics>
$<TARGET_OBJECTS:PhysXTask>
$<TARGET_OBJECTS:SceneQuery>
$<TARGET_OBJECTS:SimulationController>
)
SET(PHYSX_PLATFORM_SRC_FILES
${PX_SOURCE_DIR}/gpu/PxGpu.cpp
${PX_SOURCE_DIR}/gpu/PxPhysXGpuModuleLoader.cpp
${PHYSX_PLATFORM_OBJECT_FILES}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSX_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_CORE_EXPORTS
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE STATIC)
ELSE()
SET(PHYSX_LIBTYPE SHARED)
ENDIF()
SET(PHYSX_PLATFORM_LINK_FLAGS " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_DEBUG " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_CHECKED " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_PROFILE " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_RELEASE " ")

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC)

View File

@ -0,0 +1,70 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon
#
SET(PXCOMMON_PLATFORM_SRC_FILES
)
SET(PXCOMMON_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/ios
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS}>
)
ELSE()
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_COMMON_EXPORTS;
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS}>
)
ENDIF()
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOMMON_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOMMON_LIBTYPE SHARED)
ENDIF()
SET(PXCOMMON_PLATFORM_LINK_FLAGS " ")

View File

@ -0,0 +1,56 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking
#
SET(PHYSXCOOKING_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_CORE_EXPORTS;PX_COOKING;
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCOOKING_PLATFORM_SRC_FILES
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOOKING_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOOKING_LIBTYPE SHARED)
ENDIF()
SET(PHYSXCOOKING_LINK_FLAGS " ")
SET(PHYSXCOOKING_LINK_FLAGS_DEBUG " ")
SET(PHYSXCOOKING_LINK_FLAGS_CHECKED " ")
SET(PHYSXCOOKING_LINK_FLAGS_PROFILE " ")
SET(PHYSXCOOKING_LINK_FLAGS_RELEASE " ")

View File

@ -0,0 +1,57 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions
#
SET(PHYSXEXTENSIONS_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/ios
)
SET(PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:FastXml>
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
${PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXEXTENSIONS_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXEXTENSIONS_LIBTYPE STATIC)

View File

@ -0,0 +1,96 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation
#
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXFOUNDATION_LIBTYPE STATIC)
ELSE()
SET(PHYSXFOUNDATION_LIBTYPE SHARED)
SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS)
ENDIF()
SET(PXSHARED_PLATFORM_HEADERS
${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h
)
SOURCE_GROUP(shared\\include\\unix FILES ${PXSHARED_PLATFORM_HEADERS})
SET(PHYSXFOUNDATION_PLATFORM_INCLUDES
${LL_SOURCE_DIR}/include/ios
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE
${LL_SOURCE_DIR}/src/unix/PsUnixAtomic.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixCpu.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixFPU.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixMutex.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixPrintString.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSList.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSocket.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSync.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixThread.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixTime.cpp
)
SET(PHYSXFOUNDATION_NEON_FILES
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonAoS.h
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonInlineAoS.h
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/unix/PsUnixAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixFPU.h
${LL_SOURCE_DIR}/include/unix/PsUnixInlineAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixIntrinsics.h
${LL_SOURCE_DIR}/include/unix/PsUnixTrigConstants.h
)
SOURCE_GROUP("src\\include\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS})
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS} DESTINATION source/foundation/include/unix)
INSTALL(FILES ${PHYSXFOUNDATION_NEON_FILES} DESTINATION source/foundation/include/unix/neon)
INSTALL(FILES ${PXSHARED_PLATFORM_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation/unix)
SET(PHYSXFOUNDATION_PLATFORM_FILES
${PHYSXFOUNDATION_PLATFORM_SOURCE}
${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS}
${PHYSXFOUNDATION_NEON_FILES}
${PHYSXFOUNDATION_RESOURCE_FILE}
)
SET(PHYSXFOUNDATION_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS}>
)

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK
#
SET(PHYSXPVDSDK_LIBTYPE STATIC)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXPVDSDK_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS}
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS}>
)

View File

@ -0,0 +1,41 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask
#
SET(PHYSXTASK_COMPILE_DEFS
${PHYSX_IOS_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXTASK_LIBTYPE OBJECT)

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXVEHICLE_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXVEHICLE_LIBTYPE STATIC)

View File

@ -0,0 +1,48 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery
#
SET(SCENEQUERY_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/ios
)
# Use generator expressions to set config specific preprocessor definitions
SET(SCENEQUERY_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(SCENEQUERY_LIBTYPE OBJECT)

View File

@ -0,0 +1,49 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController
#
SET(SIMULATIONCONTROLLER_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/ios
${PHYSX_SOURCE_DIR}/LowLevel/mac/include
)
# Use generator expressions to set config specific preprocessor definitions
SET(SIMULATIONCONTROLLER_COMPILE_DEFS
# Common to all configurations
${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_IOS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_IOS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_IOS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_IOS_RELEASE_COMPILE_DEFS};>
)
SET(SIMULATIONCONTROLLER_LIBTYPE OBJECT)

View File

@ -0,0 +1,120 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE)
#TODO: Fix warnings
SET(CLANG_WARNINGS "-ferror-limit=0 -Wall -Wextra -Wno-alloca -Wno-anon-enum-enum-conversion -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-gnu-anonymous-struct -Wno-undef -Wno-unused-function -Wno-nested-anon-types -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast -Wno-disabled-macro-expansion -Wno-zero-as-null-pointer-constant -Wno-shadow -Wno-unknown-warning-option -Wno-atomic-implicit-seq-cst -Wno-extra-semi-stmt")
SET(GCC_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-uninitialized")
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# using Clang
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -fstrict-aliasing ${CLANG_WARNINGS}" CACHE INTERNAL "PhysX CXX")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -fno-strict-aliasing ${GCC_WARNINGS}" CACHE INTERNAL "PhysX CXX")
ENDIF()
# Build debug info for all configurations
SET(PHYSX_CXX_FLAGS_DEBUG "-O0 -g3 -gdwarf-2" CACHE INTERNAL "PhysX Debug CXX Flags")
SET(PHYSX_CXX_FLAGS_CHECKED "-O3 -g3 -gdwarf-2" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "-O3" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "-O3" CACHE INTERNAL "PhysX Release CXX Flags")
# These flags are local to the directory the CMakeLists.txt is in, so don't get carried over to OTHER CMakeLists.txt (thus the CACHE variables above)
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# Controls PX_NVTX for all projects
SET(NVTX_FLAG "PX_NVTX=0")
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
SET(CUDA_FLAG "DISABLE_CUDA_PHYSX")
ENDIF()
SET(PHYSX_LINUX_COMPILE_DEFS "${CUDA_FLAG};${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_LINUX_DEBUG_COMPILE_DEFS "NDEBUG;PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_LINUX_CHECKED_COMPILE_DEFS "NDEBUG;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_LINUX_PROFILE_COMPILE_DEFS "NDEBUG;PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_LINUX_RELEASE_COMPILE_DEFS "NDEBUG;PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
# Include all of the projects
IF(PX_GENERATE_GPU_PROJECTS_ONLY)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXFoundation.cmake)
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")
ELSE()
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")
SET(PHYSXDISTRO_LIBS PhysXFoundation PhysX PhysXCharacterKinematic PhysXPvdSDK PhysXCommon PhysXCooking PhysXExtensions PhysXVehicle)
INSTALL(
TARGETS ${PHYSXDISTRO_LIBS}
EXPORT PhysXSDK
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>
)
ENDIF()

View File

@ -0,0 +1,43 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
# Use generator expressions to set config specific preprocessor definitions
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)

View File

@ -0,0 +1,67 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/linux
${PHYSX_SOURCE_DIR}/LowLevel/software/include/linux
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/linux
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/linux
)
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
)
IF(PX_GENERATE_GPU_STATIC_LIBRARIES)
SET(LOWLEVEL_GPU_LIBTYPE_DEFS
PX_PHYSX_GPU_STATIC;
)
ENDIF()
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;${LOWLEVEL_GPU_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVEL_PLATFORM_LINK_FLAGS " ")
SET(LOWLEVEL_LIBTYPE OBJECT)
# NOTE: Is this a UE4 specific change?
# enable -fPIC so we can link static libs with the editor
#SET_TARGET_PROPERTIES(LowLevel PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,53 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/linux
${PHYSX_SOURCE_DIR}/LowLevelAABB/linux/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELAABB_LIBTYPE OBJECT)
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS " ")

View File

@ -0,0 +1,53 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics
#
SET(LOWLEVELDYNAMICS_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/linux
${PHYSX_SOURCE_DIR}/lowlevel/software/include/linux
${PHYSX_SOURCE_DIR}/lowleveldynamics/include/linux
${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline/linux
)
# Use generator expressions to set config specific preprocessor definitions
SET(LOWLEVELDYNAMICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELDYNAMICS_LIBTYPE OBJECT)

View File

@ -0,0 +1,117 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION)
#
SET(PHYSX_GPU_HEADERS
${PHYSX_ROOT_DIR}/include/gpu/PxGpu.h
)
SOURCE_GROUP(include\\gpu FILES ${PHYSX_GPU_HEADERS})
SET(PHYSX_CUDACONTEXT_MANAGER_GPU_HEADERS
${PHYSX_ROOT_DIR}/include/cudamanager/PxCudaContextManager.h
${PHYSX_ROOT_DIR}/include/cudamanager/PxCudaMemoryManager.h
)
SOURCE_GROUP(include\\cudamanager FILES ${PHYSX_CUDACONTEXT_MANAGER_GPU_HEADERS})
SET(PHYSX_PLATFORM_INCLUDES
${NVTOOLSEXT_INCLUDE_DIRS}
)
SET(PHYSX_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:LowLevel>
$<TARGET_OBJECTS:LowLevelAABB>
$<TARGET_OBJECTS:LowLevelDynamics>
$<TARGET_OBJECTS:PhysXTask>
$<TARGET_OBJECTS:SceneQuery>
$<TARGET_OBJECTS:SimulationController>
)
SET(PHYSX_PLATFORM_SRC_FILES
${PX_SOURCE_DIR}/device/linux/PhysXIndicatorLinux.cpp
${PX_SOURCE_DIR}/gpu/PxGpu.cpp
${PX_SOURCE_DIR}/gpu/PxPhysXGpuModuleLoader.cpp
${PHYSX_PLATFORM_OBJECT_FILES}
)
INSTALL(FILES ${PHYSX_GPU_HEADERS} DESTINATION include/gpu)
INSTALL(FILES ${PHYSX_CUDACONTEXT_MANAGER_GPU_HEADERS} DESTINATION include/cudamanager)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE STATIC)
SET(PXPHYSX_LIBTYPE_DEFS
PX_PHYSX_STATIC_LIB;
)
ELSE()
SET(PHYSX_LIBTYPE SHARED)
SET(PXPHYSX_LIBTYPE_DEFS
PX_PHYSX_CORE_EXPORTS;
)
ENDIF()
IF(PX_GENERATE_GPU_STATIC_LIBRARIES)
SET(PXPHYSX_GPU_DEFS PX_PHYSX_GPU_STATIC)
ENDIF()
# Set default PhysXGpu shared library name
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS)
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BITNESS_STRING "64")
ELSE()
SET(BITNESS_STRING "32")
ENDIF()
SET(PHYSX_GPU_SHARED_LIB_NAME_DEF PX_PHYSX_GPU_SHARED_LIB_NAME=libPhysXGpu_${BITNESS_STRING}.so)
ELSE()
SET(CONFIG_STRING $<$<CONFIG:debug>:DEBUG>$<$<CONFIG:checked>:CHECKED>$<$<CONFIG:profile>:PROFILE>)
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BITNESS_STRING "x64")
ELSE()
SET(BITNESS_STRING "x86")
ENDIF()
SET(PHYSX_GPU_SHARED_LIB_NAME_DEF PX_PHYSX_GPU_SHARED_LIB_NAME=libPhysXGpu${CONFIG_STRING}_${BITNESS_STRING}.so)
ENDIF()
SET(PHYSX_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};${PXPHYSX_LIBTYPE_DEFS};${PHYSX_GPU_SHARED_LIB_NAME_DEF};${PXPHYSX_GPU_DEFS}
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSX_PLATFORM_LINK_FLAGS " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_DEBUG " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_CHECKED " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_PROFILE " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_RELEASE " ")
SET(PHYSX_PLATFORM_LINKED_LIBS dl)

View File

@ -0,0 +1,49 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC)
# enable -fPIC so we can link static libs with the editor
#SET_TARGET_PROPERTIES(PhysXCharacterKinematic PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

View File

@ -0,0 +1,65 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon
#
SET(PXCOMMON_PLATFORM_SRC_FILES
)
SET(PXCOMMON_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/linux
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOMMON_LIBTYPE_DEFS
PX_PHYSX_STATIC_LIB;
)
SET(PHYSXCOMMON_LIBTYPE STATIC)
ELSE()
SET(PXCOMMON_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_COMMON_EXPORTS;
)
SET(PHYSXCOMMON_LIBTYPE SHARED)
ENDIF()
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};${PXCOMMON_LIBTYPE_DEFS}
# Switch platforms here?
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS}>
)
SET(PXCOMMON_PLATFORM_LINK_FLAGS " ")

View File

@ -0,0 +1,64 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking
#
SET(PHYSXCOOKING_PLATFORM_SRC_FILES
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOOKING_LIBTYPE STATIC)
SET(PXCOOKING_LIBTYPE_DEFS
PX_PHYSX_STATIC_LIB;
)
ELSE()
SET(PHYSXCOOKING_LIBTYPE SHARED)
SET(PXCOOKING_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_COMMON_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_CORE_EXPORTS
)
ENDIF()
SET(PHYSXCOOKING_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_COOKING;${PXCOOKING_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCOOKING_LINK_FLAGS " ")
SET(PHYSXCOOKING_LINK_FLAGS_DEBUG " ")
SET(PHYSXCOOKING_LINK_FLAGS_CHECKED " ")
SET(PHYSXCOOKING_LINK_FLAGS_PROFILE " ")
SET(PHYSXCOOKING_LINK_FLAGS_RELEASE " ")

View File

@ -0,0 +1,56 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions
#
SET(PHYSXEXTENSIONS_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/linux
)
SET(PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:FastXml>
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
${PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXEXTENSIONS_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXEXTENSIONS_LIBTYPE STATIC)

View File

@ -0,0 +1,110 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation
#
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXFOUNDATION_LIBTYPE STATIC)
ELSE()
SET(PHYSXFOUNDATION_LIBTYPE SHARED)
SET(PHYSXFOUNDATION_PLATFORM_LINKED_LIBS rt)
SET(PXFOUNDATION_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;
)
ENDIF()
SET(PXSHARED_PLATFORM_HEADERS
${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h
)
SOURCE_GROUP(shared\\include\\unix FILES ${PXSHARED_PLATFORM_HEADERS})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE
${LL_SOURCE_DIR}/src/unix/PsUnixAtomic.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixCpu.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixFPU.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixMutex.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixPrintString.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSList.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSocket.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSync.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixThread.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixTime.cpp
)
SOURCE_GROUP("src\\src\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_FILES})
SET(PHYSXFOUNDATION_PLATFORM_INCLUDES
${LL_SOURCE_DIR}/include/linux
)
SET(PHYSXFOUNDATION_NEON_FILES
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonAoS.h
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonInlineAoS.h
)
SET(PHYSXFOUNDATION_SSE2_FILES
${LL_SOURCE_DIR}/include/unix/sse2/PsUnixSse2AoS.h
${LL_SOURCE_DIR}/include/unix/sse2/PsUnixSse2InlineAoS.h
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/unix/PsUnixAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixFPU.h
${LL_SOURCE_DIR}/include/unix/PsUnixInlineAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixIntrinsics.h
${LL_SOURCE_DIR}/include/unix/PsUnixTrigConstants.h
)
SOURCE_GROUP("src\\include\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS})
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS} DESTINATION source/foundation/include/unix)
INSTALL(FILES ${PHYSXFOUNDATION_NEON_FILES} DESTINATION source/foundation/include/unix/neon)
INSTALL(FILES ${PHYSXFOUNDATION_SSE2_FILES} DESTINATION source/foundation/include/unix/sse2)
INSTALL(FILES ${PXSHARED_PLATFORM_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation/unix)
SET(PHYSXFOUNDATION_PLATFORM_FILES
${PHYSXFOUNDATION_PLATFORM_SOURCE}
${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS}
${PHYSXFOUNDATION_NEON_FILES}
${PHYSXFOUNDATION_SSE2_FILES}
${PHYSXFOUNDATION_RESOURCE_FILE}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXFOUNDATION_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PXFOUNDATION_PLATFORM_LINK_FLAGS "-m64")

View File

@ -0,0 +1,44 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK
#
SET(PHYSXPVDSDK_LIBTYPE STATIC)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXPVDSDK_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask
#
SET(PHYSXTASK_COMPILE_DEFS
${PHYSX_LINUX_COMPILE_DEFS};
)
SET(PHYSXTASK_COMPILE_DEFS
${PHYSX_LINUX_COMPILE_DEFS};_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXTASK_LIBTYPE OBJECT)

View File

@ -0,0 +1,47 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXVEHICLE_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXVEHICLE_LIBTYPE STATIC)

View File

@ -0,0 +1,50 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery
#
SET(SCENEQUERY_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/linux
)
# Use generator expressions to set config specific preprocessor definitions
SET(SCENEQUERY_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(SCENEQUERY_LIBTYPE OBJECT)

View File

@ -0,0 +1,51 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController
#
SET(SIMULATIONCONTROLLER_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/linux
${PHYSX_SOURCE_DIR}/lowlevel/linux/include
)
# Use generator expressions to set config specific preprocessor definitions
SET(SIMULATIONCONTROLLER_COMPILE_DEFS
# Common to all configurations
${PHYSX_LINUX_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_LINUX_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_LINUX_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_LINUX_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_LINUX_RELEASE_COMPILE_DEFS};>
)
SET(SIMULATIONCONTROLLER_LIBTYPE OBJECT)

View File

@ -0,0 +1,99 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
SET(OSX_BITNESS "-arch x86_64")
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
SET(PHYSX_CXX_FLAGS "${OSX_BITNESS} -msse2 -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX")
SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
SET(CMAKE_SHARED_LINKER_FLAGS "")
# Build debug info for all configurations
SET(PHYSX_CXX_FLAGS_DEBUG "-O0 -g" CACHE INTERNAL "PhysX Debug CXX Flags")
SET(PHYSX_CXX_FLAGS_CHECKED "-O3 -g" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "-O3 -g" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "-O3 -g" CACHE INTERNAL "PhysX Release CXX Flags")
# These flags are local to the directory the CMakeLists.txt is in
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# Build libs compatible with OS X 10.9
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.9")
#set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym")
# Controls PX_NVTX for all projects on Mac
SET(NVTX_FLAG "PX_NVTX=0")
# Disable cuda for all projects
SET(PHYSX_MAC_COMPILE_DEFS "DISABLE_CUDA_PHYSX;${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_MAC_DEBUG_COMPILE_DEFS "_DEBUG;PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_MAC_CHECKED_COMPILE_DEFS "NDEBUG;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_MAC_PROFILE_COMPILE_DEFS "NDEBUG;PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_MAC_RELEASE_COMPILE_DEFS "NDEBUG;PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
# Include all of the projects
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
# Use generator expressions to set config specific preprocessor definitions
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)

View File

@ -0,0 +1,51 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/mac
${PHYSX_SOURCE_DIR}/LowLevel/software/include/mac
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/mac
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/mac
)
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVEL_PLATFORM_LINK_FLAGS " ")
SET(LOWLEVEL_LIBTYPE OBJECT)

View File

@ -0,0 +1,53 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/mac
${PHYSX_SOURCE_DIR}/LowLevelAABB/mac/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS " ")
SET(LOWLEVELAABB_LIBTYPE OBJECT)

View File

@ -0,0 +1,50 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics
#
SET(LOWLEVELDYNAMICS_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/mac
${PHYSX_SOURCE_DIR}/lowlevel/software/include/mac
${PHYSX_SOURCE_DIR}/lowleveldynamics/include/mac
${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline/mac
)
# Use generator expressions to set config specific preprocessor definitions
SET(LOWLEVELDYNAMICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(LOWLEVELDYNAMICS_LIBTYPE OBJECT)

View File

@ -0,0 +1,72 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION)
#
SET(PHYSX_PLATFORM_INCLUDES
)
SET(PHYSX_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:LowLevel>
$<TARGET_OBJECTS:LowLevelAABB>
$<TARGET_OBJECTS:LowLevelDynamics>
$<TARGET_OBJECTS:PhysXTask>
$<TARGET_OBJECTS:SceneQuery>
$<TARGET_OBJECTS:SimulationController>
)
SET(PHYSX_PLATFORM_SRC_FILES
${PX_SOURCE_DIR}/gpu/PxGpu.cpp
${PX_SOURCE_DIR}/gpu/PxPhysXGpuModuleLoader.cpp
${PHYSX_PLATFORM_OBJECT_FILES}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSX_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_CORE_EXPORTS
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE STATIC)
ELSE()
SET(PHYSX_LIBTYPE SHARED)
ENDIF()
SET(PHYSX_PLATFORM_LINK_FLAGS " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_DEBUG " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_CHECKED " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_PROFILE " ")
SET(PHYSX_PLATFORM_LINK_FLAGS_RELEASE " ")

View File

@ -0,0 +1,43 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_CHARACTER_EXPORTS;PX_PHYSX_CORE_EXPORTS;
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC)

View File

@ -0,0 +1,70 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon
#
SET(PXCOMMON_PLATFORM_SRC_FILES
)
SET(PXCOMMON_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/mac
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS}>
)
ELSE()
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_COMMON_EXPORTS;
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS}>
)
ENDIF()
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOMMON_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOMMON_LIBTYPE SHARED)
ENDIF()
SET(PXCOMMON_PLATFORM_LINK_FLAGS " ")

View File

@ -0,0 +1,57 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking
#
SET(PHYSXCOOKING_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_CORE_EXPORTS;PX_COOKING;
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXCOOKING_PLATFORM_SRC_FILES
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOOKING_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOOKING_LIBTYPE SHARED)
ENDIF()
SET(PHYSXCOOKING_LINK_FLAGS " ")
SET(PHYSXCOOKING_LINK_FLAGS_DEBUG " ")
SET(PHYSXCOOKING_LINK_FLAGS_CHECKED " ")
SET(PHYSXCOOKING_LINK_FLAGS_PROFILE " ")
SET(PHYSXCOOKING_LINK_FLAGS_RELEASE " ")

View File

@ -0,0 +1,57 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions
#
SET(PHYSXEXTENSIONS_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/mac
)
SET(PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:FastXml>
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
${PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES}
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXEXTENSIONS_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXEXTENSIONS_LIBTYPE STATIC)

View File

@ -0,0 +1,102 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation
#
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXFOUNDATION_LIBTYPE STATIC)
ELSE()
SET(PHYSXFOUNDATION_LIBTYPE SHARED)
SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS)
ENDIF()
SET(PXSHARED_PLATFORM_HEADERS
${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h
)
SOURCE_GROUP(shared\\include\\unix FILES ${PXSHARED_PLATFORM_HEADERS})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE
${LL_SOURCE_DIR}/src/unix/PsUnixAtomic.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixCpu.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixFPU.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixMutex.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixPrintString.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSList.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSocket.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixSync.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixThread.cpp
${LL_SOURCE_DIR}/src/unix/PsUnixTime.cpp
)
SET(PHYSXFOUNDATION_PLATFORM_INCLUDES
${LL_SOURCE_DIR}/include/linux
)
SET(PHYSXFOUNDATION_NEON_FILES
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonAoS.h
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonInlineAoS.h
)
SET(PHYSXFOUNDATION_SSE2_FILES
${LL_SOURCE_DIR}/include/unix/sse2/PsUnixSse2AoS.h
${LL_SOURCE_DIR}/include/unix/sse2/PsUnixSse2InlineAoS.h
)
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/unix/PsUnixAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixFPU.h
${LL_SOURCE_DIR}/include/unix/PsUnixInlineAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixIntrinsics.h
${LL_SOURCE_DIR}/include/unix/PsUnixTrigConstants.h
)
SOURCE_GROUP("src\\include\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS})
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS} DESTINATION source/foundation/include/unix)
INSTALL(FILES ${PHYSXFOUNDATION_NEON_FILES} DESTINATION source/foundation/include/unix/neon)
INSTALL(FILES ${PHYSXFOUNDATION_SSE2_FILES} DESTINATION source/foundation/include/unix/sse2)
INSTALL(FILES ${PXSHARED_PLATFORM_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation/unix)
SET(PHYSXFOUNDATION_PLATFORM_FILES
${PHYSXFOUNDATION_PLATFORM_SOURCE}
${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS}
${PHYSXFOUNDATION_NEON_FILES}
${PHYSXFOUNDATION_SSE2_FILES}
${PHYSXFOUNDATION_RESOURCE_FILE}
)
SET(PHYSXFOUNDATION_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS}>
)

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK
#
SET(PHYSXPVDSDK_LIBTYPE STATIC)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXPVDSDK_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS}
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS}>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS}>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS}>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS}>
)

View File

@ -0,0 +1,41 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask
#
SET(PHYSXTASK_COMPILE_DEFS
${PHYSX_MAC_COMPILE_DEFS};
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXTASK_LIBTYPE OBJECT)

View File

@ -0,0 +1,45 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXVEHICLE_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXVEHICLE_LIBTYPE STATIC)

View File

@ -0,0 +1,48 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery
#
SET(SCENEQUERY_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/mac
)
# Use generator expressions to set config specific preprocessor definitions
SET(SCENEQUERY_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(SCENEQUERY_LIBTYPE OBJECT)

View File

@ -0,0 +1,49 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController
#
SET(SIMULATIONCONTROLLER_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/mac
${PHYSX_SOURCE_DIR}/LowLevel/mac/include
)
# Use generator expressions to set config specific preprocessor definitions
SET(SIMULATIONCONTROLLER_COMPILE_DEFS
# Common to all configurations
${PHYSX_MAC_COMPILE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_MAC_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_MAC_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_MAC_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_MAC_RELEASE_COMPILE_DEFS};>
)
SET(SIMULATIONCONTROLLER_LIBTYPE OBJECT)

View File

@ -0,0 +1,127 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
OPTION(PX_COPY_EXTERNAL_DLL "Copy external dlls into SDK bin directory" OFF)
# We define the CXX flags for this CMakeLists and all others that are included afterwards. This is a GLOBAL setting.
# If/when the solutions go standalone (say, samples and visual tests) - those CMakeLists will need to be fixed.
SET(PHYSX_WARNING_DISABLES "/wd4514 /wd4820 /wd4127 /wd4710 /wd4711 /wd4577 /wd4530 /wd4324")
IF(PX_FLOAT_POINT_PRECISE_MATH)
SET(PHYSX_FP_MODE "/fp:precise")
ELSE()
SET(PHYSX_FP_MODE "/fp:fast")
ENDIF()
# Cache the CXX flags so the other CMakeLists.txt can use them if needed
SET(PHYSX_CXX_FLAGS "/Wall /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /Zi" CACHE INTERNAL "PhysX Debug CXX Flags")
SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags")
# These flags are local to the directory the CMakeLists.txt is in, so don't get carried over to OTHER CMakeLists.txt (thus the CACHE variables above)
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# cache lib type defs
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE_DEFS "PX_PHYSX_STATIC_LIB;" CACHE INTERNAL "PhysX lib type defs")
ENDIF()
# Build PDBs for all configurations
SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")
IF(CMAKE_CL_64)
SET(WIN64_FLAG "WIN64")
ENDIF(CMAKE_CL_64)
IF(PX_SCALAR_MATH)
SET(SCALAR_MATH_FLAG "PX_SIMD_DISABLED")
ENDIF()
# Controls PX_NVTX for all projects on windows
SET(NVTX_FLAG "PX_NVTX=0")
SET(PHYSX_UWP_COMPILE_DEFS "WIN32;${WIN64_FLAG};${SCALAR_MATH_FLAG};_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;DISABLE_CUDA_PHYSX;${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_UWP_DEBUG_COMPILE_DEFS "PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_UWP_CHECKED_COMPILE_DEFS "PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_UWP_PROFILE_COMPILE_DEFS "PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_UWP_RELEASE_COMPILE_DEFS "PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
# Include all of the projects
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")
SET(PHYSXDISTRO_LIBS PhysXFoundation PhysX PhysXCharacterKinematic PhysXPvdSDK PhysXCommon PhysXCooking PhysXExtensions PhysXVehicle)
INSTALL(
TARGETS ${PHYSXDISTRO_LIBS}
EXPORT PhysXSDK
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
STRING(APPEND HEADER_CONTENT "#define PX_PHYSX_STATIC_LIB\n")
ENDIF()
STRING(APPEND HEADER_CONTENT "#define DISABLE_CUDA_PHYSX\n")

View File

@ -0,0 +1,55 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
# Use generator expressions to set config specific preprocessor definitions
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND FASTXML_LIBTYPE STREQUAL "STATIC")
SET(FASTXML_COMPILE_PDB_NAME_DEBUG "FastXml_static${CMAKE_DEBUG_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_CHECKED "FastXml_static${CMAKE_CHECKED_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_PROFILE "FastXml_static${CMAKE_PROFILE_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_RELEASE "FastXml_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(FASTXML_COMPILE_PDB_NAME_DEBUG "FastXml${CMAKE_DEBUG_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_CHECKED "FastXml${CMAKE_CHECKED_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_PROFILE "FastXml${CMAKE_PROFILE_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_RELEASE "FastXml${CMAKE_RELEASE_POSTFIX}")
ENDIF()

View File

@ -0,0 +1,82 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/windows
${PHYSX_SOURCE_DIR}/LowLevel/software/include/windows
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/windows
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/windows
)
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(LOWLEVEL_LIBTYPE OBJECT)
ELSE()
SET(LOWLEVEL_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND LOWLEVEL_LIBTYPE STREQUAL "STATIC")
SET(LL_COMPILE_PDB_NAME_DEBUG "LowLevel_static${CMAKE_DEBUG_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_CHECKED "LowLevel_static${CMAKE_CHECKED_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_PROFILE "LowLevel_static${CMAKE_PROFILE_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_RELEASE "LowLevel_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(LL_COMPILE_PDB_NAME_DEBUG "LowLevel${CMAKE_DEBUG_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_CHECKED "LowLevel${CMAKE_CHECKED_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_PROFILE "LowLevel${CMAKE_PROFILE_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_RELEASE "LowLevel${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(LOWLEVEL_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${LL_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVEL_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${LL_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVEL_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${LL_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVEL_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${LL_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${LL_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${LL_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${LL_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${LL_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(LOWLEVEL_COMPILE_PDB_NAME_DEBUG "${LL_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVEL_COMPILE_PDB_NAME_CHECKED "${LL_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVEL_COMPILE_PDB_NAME_PROFILE "${LL_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVEL_COMPILE_PDB_NAME_RELEASE "${LL_COMPILE_PDB_NAME_RELEASE}")
ENDIF()
SET(LOWLEVEL_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,86 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/windows
${PHYSX_SOURCE_DIR}/LowLevelAABB/windows/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(LOWLEVELAABB_LIBTYPE OBJECT)
ELSE()
SET(LOWLEVELAABB_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND LOWLEVELAABB_LIBTYPE STREQUAL "STATIC")
SET(LLAABB_COMPILE_PDB_NAME_DEBUG "LowLevelAABB_static${CMAKE_DEBUG_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_CHECKED "LowLevelAABB_static${CMAKE_CHECKED_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_PROFILE "LowLevelAABB_static${CMAKE_PROFILE_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_RELEASE "LowLevelAABB_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(LLAABB_COMPILE_PDB_NAME_DEBUG "LowLevelAABB${CMAKE_DEBUG_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_CHECKED "LowLevelAABB${CMAKE_CHECKED_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_PROFILE "LowLevelAABB${CMAKE_PROFILE_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_RELEASE "LowLevelAABB${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${LLAABB_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${LLAABB_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${LLAABB_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${LLAABB_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${LLAABB_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${LLAABB_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${LLAABB_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${LLAABB_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG "${LLAABB_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_CHECKED "${LLAABB_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_PROFILE "${LLAABB_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_RELEASE "${LLAABB_COMPILE_PDB_NAME_RELEASE}")
ENDIF()
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,83 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelDynamics
#
SET(LOWLEVELDYNAMICS_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/windows
${PHYSX_SOURCE_DIR}/lowlevel/software/include/windows
${PHYSX_SOURCE_DIR}/lowleveldynamics/include/windows
${PHYSX_SOURCE_DIR}/lowlevel/common/include/pipeline/windows
)
# Use generator expressions to set config specific preprocessor definitions
SET(LOWLEVELDYNAMICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(LOWLEVELDYNAMICS_LIBTYPE OBJECT)
ELSE()
SET(LOWLEVELDYNAMICS_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND LOWLEVELDYNAMICS_LIBTYPE STREQUAL "STATIC")
SET(LLDYNAMICS_COMPILE_PDB_NAME_DEBUG "LowLevelDynamics_static${CMAKE_DEBUG_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_CHECKED "LowLevelDynamics_static${CMAKE_CHECKED_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_PROFILE "LowLevelDynamics_static${CMAKE_PROFILE_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_RELEASE "LowLevelDynamics_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(LLDYNAMICS_COMPILE_PDB_NAME_DEBUG "LowLevelDynamics${CMAKE_DEBUG_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_CHECKED "LowLevelDynamics${CMAKE_CHECKED_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_PROFILE "LowLevelDynamics${CMAKE_PROFILE_POSTFIX}")
SET(LLDYNAMICS_COMPILE_PDB_NAME_RELEASE "LowLevelDynamics${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${LLDYNAMICS_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${LLDYNAMICS_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${LLDYNAMICS_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${LLDYNAMICS_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${LLDYNAMICS_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${LLDYNAMICS_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${LLDYNAMICS_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${LLDYNAMICS_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_DEBUG "${LLDYNAMICS_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_CHECKED "${LLDYNAMICS_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_PROFILE "${LLDYNAMICS_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELDYNAMICS_COMPILE_PDB_NAME_RELEASE "${LLDYNAMICS_COMPILE_PDB_NAME_RELEASE}")
ENDIF()

View File

@ -0,0 +1,107 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysX (PROJECT not SOLUTION)
#
SET(PHYSX_RESOURCE
${PHYSX_SOURCE_DIR}/compiler/resource_${RESOURCE_LIBPATH_SUFFIX}/PhysX.rc
)
SOURCE_GROUP(resource FILES ${PHYSX_RESOURCE})
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:LowLevel>
$<TARGET_OBJECTS:LowLevelAABB>
$<TARGET_OBJECTS:LowLevelDynamics>
$<TARGET_OBJECTS:PhysXTask>
$<TARGET_OBJECTS:SceneQuery>
$<TARGET_OBJECTS:SimulationController>
)
ENDIF()
SET(PHYSX_PLATFORM_SRC_FILES
${PHYSX_RESOURCE}
${PHYSX_DEVICE_SOURCE}
${PHYSX_UWP_SOURCE}
${PHYSX_PLATFORM_OBJECT_FILES}
)
IF(NOT PX_GENERATE_STATIC_LIBRARIES)
SET(PXPHYSX_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_CORE_EXPORTS;
)
ENDIF()
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSX_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PXPHYSX_LIBTYPE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE STATIC)
ELSE()
SET(PHYSX_LIBTYPE SHARED)
ENDIF()
IF(NOT PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_PRIVATE_PLATFORM_LINKED_LIBS
LowLevel LowLevelAABB LowLevelDynamics PhysXTask SceneQuery SimulationController
)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSX_LIBTYPE STREQUAL "STATIC")
SET(PHYSX_COMPILE_PDB_NAME_DEBUG "PhysX_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_CHECKED "PhysX_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_PROFILE "PhysX_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_RELEASE "PhysX_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSX_COMPILE_PDB_NAME_DEBUG "PhysX${CMAKE_DEBUG_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_CHECKED "PhysX${CMAKE_CHECKED_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_PROFILE "PhysX${CMAKE_PROFILE_POSTFIX}")
SET(PHYSX_COMPILE_PDB_NAME_RELEASE "PhysX${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PHYSX_LIBTYPE STREQUAL "SHARED")
INSTALL(FILES $<TARGET_PDB_FILE:PhysX>
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSX_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSX_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSX_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSX_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ENDIF()
SET(PHYSX_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,61 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCharacterKinematic
#
SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCHARACTERKINEMATIC_LIBTYPE STREQUAL "STATIC")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_DEBUG "PhysXCharacterKinematic_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_CHECKED "PhysXCharacterKinematic_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_PROFILE "PhysXCharacterKinematic_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_RELEASE "PhysXCharacterKinematic_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_DEBUG "PhysXCharacterKinematic${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_CHECKED "PhysXCharacterKinematic${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_PROFILE "PhysXCharacterKinematic${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_RELEASE "PhysXCharacterKinematic${CMAKE_RELEASE_POSTFIX}")
ENDIF()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXCHARACTERKINEMATIC_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)

View File

@ -0,0 +1,92 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCommon
#
SET(PHYSXCOMMON_RESOURCE
${PHYSX_SOURCE_DIR}/compiler/resource_${RESOURCE_LIBPATH_SUFFIX}/PhysXCommon.rc)
SOURCE_GROUP(resource FILES ${PHYSXCOMMON_RESOURCE})
SET(PXCOMMON_PLATFORM_SRC_FILES
${PHYSXCOMMON_UWP_HEADERS}
${PHYSXCOMMON_UWP_SOURCE}
${PHYSXCOMMON_RESOURCE}
)
SET(PXCOMMON_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/common/src/windows
)
IF(NOT PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOMMON_LIBTYPE_DEFS
PX_PHYSX_COMMON_EXPORTS;
)
ENDIF()
SET(PXCOMMON_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PXCOMMON_LIBTYPE_DEFS};${PHYSX_LIBTYPE_DEFS};
# Switch platforms here?
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS}>
)
SET(PXCOMMON_PLATFORM_LINK_FLAGS "/MAP")
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOMMON_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOMMON_LIBTYPE SHARED)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCOMMON_LIBTYPE STREQUAL "STATIC")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_DEBUG "PhysXCommon_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_CHECKED "PhysXCommon_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_PROFILE "PhysXCommon_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_RELEASE "PhysXCommon_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXCOMMON_COMPILE_PDB_NAME_DEBUG "PhysXCommon${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_CHECKED "PhysXCommon${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_PROFILE "PhysXCommon${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCOMMON_COMPILE_PDB_NAME_RELEASE "PhysXCommon${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PHYSXCOMMON_LIBTYPE STREQUAL "SHARED")
INSTALL(FILES $<TARGET_PDB_FILE:PhysXCommon>
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXCOMMON_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXCOMMON_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXCOMMON_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXCOMMON_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ENDIF()

View File

@ -0,0 +1,85 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXCooking
#
IF(NOT PX_GENERATE_STATIC_LIBRARIES)
SET(PXCOOKING_LIBTYPE_DEFS
PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_COMMON_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_CORE_EXPORTS
)
ENDIF()
SET(PHYSXCOOKING_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};PX_COOKING;${PHYSX_LIBTYPE_DEFS};${PXCOOKING_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
SET(PHYSX_COOKING_RESOURCE
${PHYSX_SOURCE_DIR}/compiler/resource_${RESOURCE_LIBPATH_SUFFIX}/PhysXCooking.rc
)
SOURCE_GROUP(resource FILES ${PHYSX_COOKING_RESOURCE})
SET(PHYSXCOOKING_PLATFORM_SRC_FILES
${PHYSX_COOKING_UWP_SOURCE}
${PHYSX_COOKING_RESOURCE}
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXCOOKING_LIBTYPE STATIC)
ELSE()
SET(PHYSXCOOKING_LIBTYPE SHARED)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXCOOKING_LIBTYPE STREQUAL "STATIC")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_DEBUG "PhysXCooking_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_CHECKED "PhysXCooking_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_PROFILE "PhysXCooking_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_RELEASE "PhysXCooking_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXCOOKING_COMPILE_PDB_NAME_DEBUG "PhysXCooking${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_CHECKED "PhysXCooking${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_PROFILE "PhysXCooking${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXCOOKING_COMPILE_PDB_NAME_RELEASE "PhysXCooking${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PHYSXCOOKING_LIBTYPE STREQUAL "SHARED")
INSTALL(FILES $<TARGET_PDB_FILE:PhysXCooking>
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXCOOKING_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXCOOKING_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXCOOKING_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXCOOKING_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ENDIF()
SET(PHYSXCOOKING_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,76 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXExtensions
#
SET(PHYSXEXTENSIONS_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/windows
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
)
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXEXTENSIONS_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES
$<TARGET_OBJECTS:FastXml>
)
SET(PHYSXEXTENSIONS_PLATFORM_SRC_FILES
${PHYSXEXTENSIONS_PLATFORM_OBJECT_FILES}
)
SET(PHYSXEXTENSIONS_LIBTYPE STATIC)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXEXTENSIONS_LIBTYPE STREQUAL "STATIC")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_DEBUG "PhysXExtensions_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_CHECKED "PhysXExtensions_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_PROFILE "PhysXExtensions_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_RELEASE "PhysXExtensions_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_DEBUG "PhysXExtensions${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_CHECKED "PhysXExtensions${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_PROFILE "PhysXExtensions${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXEXTENSIONS_COMPILE_PDB_NAME_RELEASE "PhysXExtensions${CMAKE_RELEASE_POSTFIX}")
ENDIF()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXEXTENSIONS_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXEXTENSIONS_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXEXTENSIONS_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXEXTENSIONS_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)

View File

@ -0,0 +1,136 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXFoundation
#
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXFOUNDATION_LIBTYPE STATIC)
ELSE()
SET(PHYSXFOUNDATION_LIBTYPE SHARED)
SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS)
ENDIF()
SET(PXSHARED_PLATFORM_HEADERS
${PXSHARED_PATH}/include/foundation/windows/PxWindowsIntrinsics.h
)
SOURCE_GROUP(shared\\include\\windows FILES ${PXSHARED_PLATFORM_HEADERS})
SET(PHYSXFOUNDATION_RESOURCE_FILE
${PHYSX_SOURCE_DIR}/compiler/resource_${RESOURCE_LIBPATH_SUFFIX}/PhysXFoundation.rc
)
SOURCE_GROUP(resource FILES ${PHYSXFOUNDATION_RESOURCE_FILE})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE
${LL_SOURCE_DIR}/src/windows/PsWindowsAtomic.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsCpu.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsFPU.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsMutex.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsPrintString.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsSList.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsSocket.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsSync.cpp
${LL_SOURCE_DIR}/src/windows/PsWindowsTime.cpp
)
SOURCE_GROUP("src\\src\\windows" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE})
SET(PHYSXFOUNDATION_UWP_PLATFORM_SOURCE
${LL_SOURCE_DIR}/src/windows/PsUWPThread.cpp
)
SOURCE_GROUP("src\\src\\uwp" FILES ${PHYSXFOUNDATION_UWP_PLATFORM_SOURCE})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS
${LL_SOURCE_DIR}/include/windows/PsWindowsAoS.h
${LL_SOURCE_DIR}/include/windows/PsWindowsFPU.h
${LL_SOURCE_DIR}/include/windows/PsWindowsInclude.h
${LL_SOURCE_DIR}/include/windows/PsWindowsInlineAoS.h
${LL_SOURCE_DIR}/include/windows/PsWindowsIntrinsics.h
${LL_SOURCE_DIR}/include/windows/PsWindowsTrigConstants.h
)
SOURCE_GROUP("src\\include\\windows" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_2
${LL_SOURCE_DIR}/include/unix/PsUnixInlineAoS.h
${LL_SOURCE_DIR}/include/unix/PsUnixTrigConstants.h
)
SOURCE_GROUP("src\\include\\unix" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_2})
SET(PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_3
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonAoS.h
${LL_SOURCE_DIR}/include/unix/neon/PsUnixNeonInlineAoS.h
)
SOURCE_GROUP("src\\include\\unix\\neon" FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_3})
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS} DESTINATION source/foundation/include/windows)
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_2} DESTINATION source/foundation/include/unix)
INSTALL(FILES ${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS_3} DESTINATION source/foundation/include/unix/neon)
INSTALL(FILES ${PXSHARED_PLATFORM_HEADERS} DESTINATION ${PXSHARED_INSTALL_PREFIX}/include/foundation/windows)
SET(PHYSXFOUNDATION_PLATFORM_FILES
${PHYSXFOUNDATION_PLATFORM_SOURCE}
${PHYSXFOUNDATION_UWP_PLATFORM_SOURCE}
${PHYSXFOUNDATION_PLATFORM_SOURCE_HEADERS}
${PHYSXFOUNDATION_RESOURCE_FILE}
)
SET(PHYSXFOUNDATION_PLATFORM_INCLUDES
${LL_SOURCE_DIR}/include/windows
)
SET(PHYSXFOUNDATION_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXFOUNDATION_LIBTYPE STREQUAL "STATIC")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_DEBUG "PhysXFoundation_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_CHECKED "PhysXFoundation_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_PROFILE "PhysXFoundation_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_RELEASE "PhysXFoundation_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_DEBUG "PhysXFoundation${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_CHECKED "PhysXFoundation${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_PROFILE "PhysXFoundation${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXFOUNDATION_COMPILE_PDB_NAME_RELEASE "PhysXFoundation${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PHYSXFOUNDATION_LIBTYPE STREQUAL "SHARED")
INSTALL(FILES $<TARGET_PDB_FILE:PhysXFoundation>
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXFOUNDATION_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXFOUNDATION_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXFOUNDATION_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXFOUNDATION_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ENDIF()
SET(PLATFORM_COMPILE_FLAGS "/ZW")

View File

@ -0,0 +1,60 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXPvdSDK
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXPVDSDK_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXPVDSDK_LIBTYPE STATIC)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXPVDSDK_LIBTYPE STREQUAL "STATIC")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_DEBUG "PhysXPvdSDK_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_CHECKED "PhysXPvdSDK_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_PROFILE "PhysXPvdSDK_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_RELEASE "PhysXPvdSDK_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_DEBUG "PhysXPvdSDK${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_CHECKED "PhysXPvdSDK${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_PROFILE "PhysXPvdSDK${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXPVDSDK_COMPILE_PDB_NAME_RELEASE "PhysXPvdSDK${CMAKE_RELEASE_POSTFIX}")
ENDIF()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXPVDSDK_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXPVDSDK_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXPVDSDK_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXPVDSDK_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)

View File

@ -0,0 +1,70 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXTask
#
SET(PHYSXTASK_COMPILE_DEFS
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXTASK_LIBTYPE OBJECT)
ELSE()
SET(PHYSXTASK_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXTASK_LIBTYPE STREQUAL "STATIC")
SET(PT_COMPILE_PDB_NAME_DEBUG "PhysXTask_static${CMAKE_DEBUG_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_CHECKED "PhysXTask_static${CMAKE_CHECKED_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_PROFILE "PhysXTask_static${CMAKE_PROFILE_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_RELEASE "PhysXTask_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PT_COMPILE_PDB_NAME_DEBUG "PhysXTask${CMAKE_DEBUG_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_CHECKED "PhysXTask${CMAKE_CHECKED_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_PROFILE "PhysXTask${CMAKE_PROFILE_POSTFIX}")
SET(PT_COMPILE_PDB_NAME_RELEASE "PhysXTask${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(PHYSXTASK_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${PT_COMPILE_PDB_NAME_DEBUG}")
SET(PHYSXTASK_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${PT_COMPILE_PDB_NAME_CHECKED}")
SET(PHYSXTASK_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${PT_COMPILE_PDB_NAME_PROFILE}")
SET(PHYSXTASK_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${PT_COMPILE_PDB_NAME_RELEASE}")
ELSE()
SET(PHYSXTASK_COMPILE_PDB_NAME_DEBUG "${PT_COMPILE_PDB_NAME_DEBUG}")
SET(PHYSXTASK_COMPILE_PDB_NAME_CHECKED "${PT_COMPILE_PDB_NAME_CHECKED}")
SET(PHYSXTASK_COMPILE_PDB_NAME_PROFILE "${PT_COMPILE_PDB_NAME_PROFILE}")
SET(PHYSXTASK_COMPILE_PDB_NAME_RELEASE "${PT_COMPILE_PDB_NAME_RELEASE}")
ENDIF()

View File

@ -0,0 +1,60 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build PhysXVehicle
#
# Use generator expressions to set config specific preprocessor definitions
SET(PHYSXVEHICLE_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};PX_PHYSX_STATIC_LIB
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
SET(PHYSXVEHICLE_LIBTYPE STATIC)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND PHYSXVEHICLE_LIBTYPE STREQUAL "STATIC")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_DEBUG "PhysXVehicle_static${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_CHECKED "PhysXVehicle_static${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_PROFILE "PhysXVehicle_static${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_RELEASE "PhysXVehicle_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_DEBUG "PhysXVehicle${CMAKE_DEBUG_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_CHECKED "PhysXVehicle${CMAKE_CHECKED_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_PROFILE "PhysXVehicle${CMAKE_PROFILE_POSTFIX}")
SET(PHYSXVEHICLE_COMPILE_PDB_NAME_RELEASE "PhysXVehicle${CMAKE_RELEASE_POSTFIX}")
ENDIF()
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${PHYSXVEHICLE_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${PHYSXVEHICLE_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${PHYSXVEHICLE_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${PHYSXVEHICLE_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)

View File

@ -0,0 +1,80 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SceneQuery
#
SET(SCENEQUERY_PLATFORM_INCLUDES
PRIVATE ${PHYSX_SOURCE_DIR}/Common/src/windows
)
# Use generator expressions to set config specific preprocessor definitions
SET(SCENEQUERY_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(SCENEQUERY_LIBTYPE OBJECT)
ELSE()
SET(SCENEQUERY_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND SCENEQUERY_LIBTYPE STREQUAL "STATIC")
SET(SQ_COMPILE_PDB_NAME_DEBUG "SceneQuery_static${CMAKE_DEBUG_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_CHECKED "SceneQuery_static${CMAKE_CHECKED_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_PROFILE "SceneQuery_static${CMAKE_PROFILE_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_RELEASE "SceneQuery_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(SQ_COMPILE_PDB_NAME_DEBUG "SceneQuery${CMAKE_DEBUG_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_CHECKED "SceneQuery${CMAKE_CHECKED_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_PROFILE "SceneQuery${CMAKE_PROFILE_POSTFIX}")
SET(SQ_COMPILE_PDB_NAME_RELEASE "SceneQuery${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(SCENEQUERY_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${SQ_COMPILE_PDB_NAME_DEBUG}")
SET(SCENEQUERY_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${SQ_COMPILE_PDB_NAME_CHECKED}")
SET(SCENEQUERY_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${SQ_COMPILE_PDB_NAME_PROFILE}")
SET(SCENEQUERY_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${SQ_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${SQ_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${SQ_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${SQ_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${SQ_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(SCENEQUERY_COMPILE_PDB_NAME_DEBUG "${SQ_COMPILE_PDB_NAME_DEBUG}")
SET(SCENEQUERY_COMPILE_PDB_NAME_CHECKED "${SQ_COMPILE_PDB_NAME_CHECKED}")
SET(SCENEQUERY_COMPILE_PDB_NAME_PROFILE "${SQ_COMPILE_PDB_NAME_PROFILE}")
SET(SCENEQUERY_COMPILE_PDB_NAME_RELEASE "${SQ_COMPILE_PDB_NAME_RELEASE}")
ENDIF()

View File

@ -0,0 +1,80 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build SimulationController
#
SET(SIMULATIONCONTROLLER_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/windows
${PHYSX_SOURCE_DIR}/LowLevel/windows/include
)
# Use generator expressions to set config specific preprocessor definitions
SET(SIMULATIONCONTROLLER_COMPILE_DEFS
# Common to all configurations
${PHYSX_UWP_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};
$<$<CONFIG:debug>:${PHYSX_UWP_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_UWP_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_UWP_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_UWP_RELEASE_COMPILE_DEFS};>
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(SIMULATIONCONTROLLER_LIBTYPE OBJECT)
ELSE()
SET(SIMULATIONCONTROLLER_LIBTYPE STATIC)
ENDIF()
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND SIMULATIONCONTROLLER_LIBTYPE STREQUAL "STATIC")
SET(SC_COMPILE_PDB_NAME_DEBUG "SimulationController_static${CMAKE_DEBUG_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_CHECKED "SimulationController_static${CMAKE_CHECKED_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_PROFILE "SimulationController_static${CMAKE_PROFILE_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_RELEASE "SimulationController_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(SC_COMPILE_PDB_NAME_DEBUG "SimulationController${CMAKE_DEBUG_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_CHECKED "SimulationController${CMAKE_CHECKED_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_PROFILE "SimulationController${CMAKE_PROFILE_POSTFIX}")
SET(SC_COMPILE_PDB_NAME_RELEASE "SimulationController${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${SC_COMPILE_PDB_NAME_DEBUG}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${SC_COMPILE_PDB_NAME_CHECKED}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${SC_COMPILE_PDB_NAME_PROFILE}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${SC_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${SC_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${SC_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${SC_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${SC_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_DEBUG "${SC_COMPILE_PDB_NAME_DEBUG}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_CHECKED "${SC_COMPILE_PDB_NAME_CHECKED}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_PROFILE "${SC_COMPILE_PDB_NAME_PROFILE}")
SET(SIMULATIONCONTROLLER_COMPILE_PDB_NAME_RELEASE "${SC_COMPILE_PDB_NAME_RELEASE}")
ENDIF()

View File

@ -0,0 +1,205 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
OPTION(PX_COPY_EXTERNAL_DLL "Copy external dlls into SDK bin directory" OFF)
OPTION(PX_FLOAT_POINT_PRECISE_MATH "Float point precise math" OFF)
OPTION(PX_USE_NVTX "Enabled NVTX profiling" OFF)
# We define the CXX flags for this CMakeLists and all others that are included afterwards. This is a GLOBAL setting.
# If/when the solutions go standalone (say, samples and visual tests) - those CMakeLists will need to be fixed.
SET(PHYSX_WARNING_DISABLES "/wd4514 /wd4820 /wd4127 /wd4710 /wd4711 /wd4577 /wd4996")
# Cache the CXX flags so the other CMakeLists.txt can use them if needed
IF(PX_FLOAT_POINT_PRECISE_MATH)
SET(PHYSX_FP_MODE "/fp:precise")
ELSE()
SET(PHYSX_FP_MODE "/fp:fast")
ENDIF()
IF(CMAKE_CL_64)
SET(PHYSX_CXX_FLAGS "/d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
ELSE()
SET(PHYSX_CXX_FLAGS "/arch:SSE2 /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX")
ENDIF()
SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /RTCu /Zi" CACHE INTERNAL "PhysX Debug CXX Flags")
# PT: changed /Ox to /O2 because "the /Ox compiler option enables only a subset of the speed optimization options enabled by /O2."
# See https://docs.microsoft.com/en-us/cpp/build/reference/ox-full-optimization?view=vs-2019
SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags")
SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags")
SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags")
# cache lib type defs
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSX_LIBTYPE_DEFS "PX_PHYSX_STATIC_LIB;" CACHE INTERNAL "PhysX lib type defs")
ENDIF()
# These flags are local to the directory the CMakeLists.txt is in, so don't get carried over to OTHER CMakeLists.txt (thus the CACHE variables above)
SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS_DEBUG ${PHYSX_CXX_FLAGS_DEBUG})
SET(CMAKE_CXX_FLAGS_CHECKED ${PHYSX_CXX_FLAGS_CHECKED})
SET(CMAKE_CXX_FLAGS_PROFILE ${PHYSX_CXX_FLAGS_PROFILE})
SET(CMAKE_CXX_FLAGS_RELEASE ${PHYSX_CXX_FLAGS_RELEASE})
# Build PDBs for all configurations
SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG /INCREMENTAL:NO")
SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/DEBUG /INCREMENTAL:NO")
SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "/DEBUG /INCREMENTAL:NO /OPT:REF")
SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "/DEBUG /INCREMENTAL:NO /OPT:REF")
SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF")
IF(CMAKE_CL_64)
SET(WIN64_FLAG "WIN64")
ENDIF(CMAKE_CL_64)
IF(PX_SCALAR_MATH)
SET(SCALAR_MATH_FLAG "PX_SIMD_DISABLED")
ENDIF()
# Controls PX_NVTX for all projects
IF(PX_USE_NVTX)
SET(NVTX_FLAG "PX_NVTX=1")
ELSE()
SET(NVTX_FLAG "PX_NVTX=0")
ENDIF()
SET(PHYSX_WINDOWS_COMPILE_DEFS "WIN32;${WIN64_FLAG};${SCALAR_MATH_FLAG};${CUDA_FLAG};_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;${PHYSX_AUTOBUILD}" CACHE INTERNAL "Base PhysX preprocessor definitions")
SET(PHYSX_WINDOWS_DEBUG_COMPILE_DEFS "PX_DEBUG=1;PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Debug PhysX preprocessor definitions")
SET(PHYSX_WINDOWS_CHECKED_COMPILE_DEFS "PX_CHECKED=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Checked PhysX preprocessor definitions")
SET(PHYSX_WINDOWS_PROFILE_COMPILE_DEFS "PX_PROFILE=1;${NVTX_FLAG};PX_SUPPORT_PVD=1" CACHE INTERNAL "Profile PhysX preprocessor definitions")
SET(PHYSX_WINDOWS_RELEASE_COMPILE_DEFS "PX_SUPPORT_PVD=0" CACHE INTERNAL "Release PhysX preprocessor definitions")
# copy the external dlls
IF(PX_COPY_EXTERNAL_DLL)
IF(NOT PHYSX_SLN_PHYSXDEVICE_PATH)
SET(PHYSX_SLN_PHYSXDEVICE_PATH "$ENV{PM_PhysXDevice_PATH}/bin/x86/" CACHE INTERNAL "PhysX device copy path")
ENDIF()
IF(NOT PHYSX_SLN_GLUT32_PATH)
SET(PHYSX_SLN_GLUT32_PATH "$ENV{PM_glut32_PATH}/bin/" CACHE INTERNAL "PhysX glut32 copy path")
ENDIF()
IF(CMAKE_CL_64)
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x64/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x64/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x64/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x64/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
ELSE()
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
FILE(COPY ${PHYSX_SLN_PHYSXDEVICE_PATH}/PhysXDevice.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x86/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x86/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x86/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
FILE(COPY ${PHYSX_SLN_GLUT32_PATH}/x86/glut32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
ENDIF()
ENDIF()
# for public release we copy the dlls for GPU other platforms so we dont keep duplicates around the repository
IF(PUBLIC_RELEASE)
IF(NOT GPU_DLL_COPIED)
SET(GPU_DLL_COPIED 1 CACHE INTERNAL "PhysX GPU dlls copied")
IF(CMAKE_CL_64)
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_64.vc140.mt/debug/PhysXGpu_64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_64.vc140.mt/checked/PhysXGpu_64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_64.vc140.mt/profile/PhysXGpu_64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_64.vc140.mt/release/PhysXGpu_64.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
ELSE()
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_32.vc120.mt/debug/PhysXGpu_32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_DEBUG})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_32.vc120.mt/checked/PhysXGpu_32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_CHECKED})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_32.vc120.mt/profile/PhysXGpu_32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_PROFILE})
FILE(COPY ${PHYSX_ROOT_DIR}/bin/win.x86_32.vc120.mt/release/PhysXGpu_32.dll DESTINATION ${PX_EXE_OUTPUT_DIRECTORY_RELEASE})
ENDIF()
ENDIF()
ENDIF()
# Include all of the projects
IF(PX_GENERATE_GPU_PROJECTS_ONLY)
INCLUDE(PhysXFoundation.cmake)
INCLUDE(PhysXCommon.cmake)
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
ELSE()
INCLUDE(PhysXFoundation.cmake)
INCLUDE(LowLevel.cmake)
INCLUDE(LowLevelAABB.cmake)
INCLUDE(LowLevelDynamics.cmake)
INCLUDE(PhysX.cmake)
INCLUDE(PhysXCharacterKinematic.cmake)
INCLUDE(PhysXCommon.cmake)
INCLUDE(PhysXCooking.cmake)
INCLUDE(PhysXExtensions.cmake)
INCLUDE(PhysXVehicle.cmake)
INCLUDE(SceneQuery.cmake)
INCLUDE(SimulationController.cmake)
INCLUDE(FastXml.cmake)
INCLUDE(PhysXPvdSDK.cmake)
INCLUDE(PhysXTask.cmake)
# Set folder PhysX SDK to all common SDK source projects
SET_PROPERTY(TARGET PhysX PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCharacterKinematic PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCommon PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXCooking PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXExtensions PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXVehicle PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevel PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelAABB PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET LowLevelDynamics PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SceneQuery PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET SimulationController PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET FastXml PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXPvdSDK PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXTask PROPERTY FOLDER "PhysX SDK")
SET_PROPERTY(TARGET PhysXFoundation PROPERTY FOLDER "PhysX SDK")
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(PHYSXDISTRO_LIBS PhysXFoundation PhysX PhysXCharacterKinematic PhysXPvdSDK PhysXCommon PhysXCooking PhysXExtensions PhysXVehicle)
ELSE()
SET(PHYSXDISTRO_LIBS PhysXFoundation PhysX PhysXCharacterKinematic PhysXPvdSDK PhysXCommon PhysXCooking PhysXExtensions PhysXVehicle PhysXTask)
ENDIF()
INSTALL(
TARGETS ${PHYSXDISTRO_LIBS}
EXPORT PhysXSDK
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>
)
ENDIF()
IF(PX_GENERATE_STATIC_LIBRARIES)
STRING(APPEND HEADER_CONTENT "#define PX_PHYSX_STATIC_LIB\n")
ENDIF()

View File

@ -0,0 +1,55 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build FastXml
#
# Use generator expressions to set config specific preprocessor definitions
SET(FASTXML_COMPILE_DEFS
# Common to all configurations
${PHYSX_WINDOWS_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_WINDOWS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_WINDOWS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_WINDOWS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_WINDOWS_RELEASE_COMPILE_DEFS};>
)
SET(FASTXML_LIBTYPE OBJECT)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND FASTXML_LIBTYPE STREQUAL "STATIC")
SET(FASTXML_COMPILE_PDB_NAME_DEBUG "FastXml_static${CMAKE_DEBUG_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_CHECKED "FastXml_static${CMAKE_CHECKED_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_PROFILE "FastXml_static${CMAKE_PROFILE_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_RELEASE "FastXml_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(FASTXML_COMPILE_PDB_NAME_DEBUG "FastXml${CMAKE_DEBUG_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_CHECKED "FastXml${CMAKE_CHECKED_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_PROFILE "FastXml${CMAKE_PROFILE_POSTFIX}")
SET(FASTXML_COMPILE_PDB_NAME_RELEASE "FastXml${CMAKE_RELEASE_POSTFIX}")
ENDIF()

View File

@ -0,0 +1,82 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevel
#
SET(LOWLEVEL_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/windows
${PHYSX_SOURCE_DIR}/LowLevel/software/include/windows
${PHYSX_SOURCE_DIR}/LowLevelDynamics/include/windows
${PHYSX_SOURCE_DIR}/LowLevel/common/include/pipeline/windows
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(LOWLEVEL_LIBTYPE OBJECT)
ELSE()
SET(LOWLEVEL_LIBTYPE STATIC)
ENDIF()
SET(LOWLEVEL_COMPILE_DEFS
# Common to all configurations
${PHYSX_WINDOWS_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};${PHYSXGPU_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_WINDOWS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_WINDOWS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_WINDOWS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_WINDOWS_RELEASE_COMPILE_DEFS};>
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND LOWLEVEL_LIBTYPE STREQUAL "STATIC")
SET(LL_COMPILE_PDB_NAME_DEBUG "LowLevel_static${CMAKE_DEBUG_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_CHECKED "LowLevel_static${CMAKE_CHECKED_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_PROFILE "LowLevel_static${CMAKE_PROFILE_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_RELEASE "LowLevel_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(LL_COMPILE_PDB_NAME_DEBUG "LowLevel${CMAKE_DEBUG_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_CHECKED "LowLevel${CMAKE_CHECKED_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_PROFILE "LowLevel${CMAKE_PROFILE_POSTFIX}")
SET(LL_COMPILE_PDB_NAME_RELEASE "LowLevel${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(LOWLEVEL_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${LL_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVEL_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${LL_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVEL_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${LL_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVEL_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${LL_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${LL_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${LL_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${LL_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${LL_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(LOWLEVEL_COMPILE_PDB_NAME_DEBUG "${LL_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVEL_COMPILE_PDB_NAME_CHECKED "${LL_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVEL_COMPILE_PDB_NAME_PROFILE "${LL_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVEL_COMPILE_PDB_NAME_RELEASE "${LL_COMPILE_PDB_NAME_RELEASE}")
ENDIF()
SET(LOWLEVEL_PLATFORM_LINK_FLAGS "/MAP")

View File

@ -0,0 +1,84 @@
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## * Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of NVIDIA CORPORATION nor the names of its
## contributors may be used to endorse or promote products derived
## from this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
#
# Build LowLevelAABB
#
SET(LOWLEVELAABB_PLATFORM_INCLUDES
${PHYSX_SOURCE_DIR}/Common/src/windows
${PHYSX_SOURCE_DIR}/LowLevelAABB/windows/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/include
${PHYSX_SOURCE_DIR}/GpuBroadPhase/src
)
IF(PX_GENERATE_STATIC_LIBRARIES)
SET(LOWLEVELAABB_LIBTYPE OBJECT)
ELSE()
SET(LOWLEVELAABB_LIBTYPE STATIC)
ENDIF()
SET(LOWLEVELAABB_COMPILE_DEFS
# Common to all configurations
${PHYSX_WINDOWS_COMPILE_DEFS};${PHYSX_LIBTYPE_DEFS};${PHYSXGPU_LIBTYPE_DEFS}
$<$<CONFIG:debug>:${PHYSX_WINDOWS_DEBUG_COMPILE_DEFS};>
$<$<CONFIG:checked>:${PHYSX_WINDOWS_CHECKED_COMPILE_DEFS};>
$<$<CONFIG:profile>:${PHYSX_WINDOWS_PROFILE_COMPILE_DEFS};>
$<$<CONFIG:release>:${PHYSX_WINDOWS_RELEASE_COMPILE_DEFS};>
)
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS AND LOWLEVELAABB_LIBTYPE STREQUAL "STATIC")
SET(LLAABB_COMPILE_PDB_NAME_DEBUG "LowLevelAABB_static${CMAKE_DEBUG_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_CHECKED "LowLevelAABB_static${CMAKE_CHECKED_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_PROFILE "LowLevelAABB_static${CMAKE_PROFILE_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_RELEASE "LowLevelAABB_static${CMAKE_RELEASE_POSTFIX}")
ELSE()
SET(LLAABB_COMPILE_PDB_NAME_DEBUG "LowLevelAABB${CMAKE_DEBUG_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_CHECKED "LowLevelAABB${CMAKE_CHECKED_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_PROFILE "LowLevelAABB${CMAKE_PROFILE_POSTFIX}")
SET(LLAABB_COMPILE_PDB_NAME_RELEASE "LowLevelAABB${CMAKE_RELEASE_POSTFIX}")
ENDIF()
IF(PX_EXPORT_LOWLEVEL_PDB)
SET(LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/debug/${LLAABB_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_CHECKED "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/checked/${LLAABB_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_PROFILE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/profile/${LLAABB_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_RELEASE "${PHYSX_ROOT_DIR}/${PX_ROOT_LIB_DIR}/release/${LLAABB_COMPILE_PDB_NAME_RELEASE}")
INSTALL(FILES ${PHYSX_ROOT_DIR}/$<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile>/$<$<CONFIG:debug>:${LLAABB_COMPILE_PDB_NAME_DEBUG}>$<$<CONFIG:checked>:${LLAABB_COMPILE_PDB_NAME_CHECKED}>$<$<CONFIG:profile>:${LLAABB_COMPILE_PDB_NAME_PROFILE}>$<$<CONFIG:release>:${LLAABB_COMPILE_PDB_NAME_RELEASE}>.pdb
DESTINATION $<$<CONFIG:debug>:${PX_ROOT_LIB_DIR}/debug>$<$<CONFIG:release>:${PX_ROOT_LIB_DIR}/release>$<$<CONFIG:checked>:${PX_ROOT_LIB_DIR}/checked>$<$<CONFIG:profile>:${PX_ROOT_LIB_DIR}/profile> OPTIONAL)
ELSE()
SET(LOWLEVELAABB_COMPILE_PDB_NAME_DEBUG "${LLAABB_COMPILE_PDB_NAME_DEBUG}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_CHECKED "${LLAABB_COMPILE_PDB_NAME_CHECKED}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_PROFILE "${LLAABB_COMPILE_PDB_NAME_PROFILE}")
SET(LOWLEVELAABB_COMPILE_PDB_NAME_RELEASE "${LLAABB_COMPILE_PDB_NAME_RELEASE}")
ENDIF()
SET(LOWLEVELAABB_PLATFORM_LINK_FLAGS "/MAP")

Some files were not shown because too many files have changed in this diff Show More