aboutsummaryrefslogtreecommitdiff
path: root/sdk/compiler/cmake/modules/FindPhysXSDK.cmake
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2018-05-31 11:36:08 -0700
committerBryan Galdrikian <[email protected]>2018-05-31 11:36:08 -0700
commit7115f60b91b5717d90f643fd692010905c7004db (patch)
treeeffd68c6978751c517d54c2f2bb5bb6e7dc93e18 /sdk/compiler/cmake/modules/FindPhysXSDK.cmake
parentUpdating BlastTool zip (diff)
downloadblast-7115f60b91b5717d90f643fd692010905c7004db.tar.xz
blast-7115f60b91b5717d90f643fd692010905c7004db.zip
Blast 1.1.3. See docs/release_notes.txt.v1.1.3_rc1
Diffstat (limited to 'sdk/compiler/cmake/modules/FindPhysXSDK.cmake')
-rwxr-xr-x[-rw-r--r--]sdk/compiler/cmake/modules/FindPhysXSDK.cmake1096
1 files changed, 549 insertions, 547 deletions
diff --git a/sdk/compiler/cmake/modules/FindPhysXSDK.cmake b/sdk/compiler/cmake/modules/FindPhysXSDK.cmake
index fa3ddb1..7e1f0a9 100644..100755
--- a/sdk/compiler/cmake/modules/FindPhysXSDK.cmake
+++ b/sdk/compiler/cmake/modules/FindPhysXSDK.cmake
@@ -1,547 +1,549 @@
-# - Try to find PhysX binary SDK
-# - Sets PHYSXSDK_LIBS_DEBUG, PHYSXSDK_LIBS_RELEASE, PHYSXSDK_LIBS_CHECKED, PHYSXSDK_LIBS_PROFILE - lists of the libraries found
-# - Sets PHYSXSDK_INCLUDE_DIRS
-# - Sets PHYSXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this
-
-include(FindPackageHandleStandardArgs)
-
-MESSAGE("Looking for PhysXSDK ${PhysXSDK_FIND_VERSION} Cached path: ${PHYSXSDK_PATH}")
-find_path(PHYSXSDK_PATH Include/PxActor.h
- PATHS
- $ENV{PM_PhysX_PATH}
- $ENV{PM_PhysX_PATH}/PhysX_3.4
- ${GW_DEPS_ROOT}/$ENV{PM_PhysX_NAME}/${PhysXSDK_FIND_VERSION}
- ${GW_DEPS_ROOT}/PhysX/${PhysXSDK_FIND_VERSION}
-)
-
-if (TARGET_BUILD_PLATFORM STREQUAL "Windows")
- # If the project pulling in this dependency needs the static crt, then append that to the path.
- if (STATIC_WINCRT)
- SET(PHYSX_CRT_SUFFIX "-staticcrt")
- else()
- SET(PHYSX_CRT_SUFFIX "")
- endif()
-
- if (CMAKE_CL_64)
- SET(PHYSX_ARCH_FOLDER "win64")
- SET(PHYSX_ARCH_FILE "_x64")
- else()
- SET(PHYSX_ARCH_FOLDER "win32")
- SET(PHYSX_ARCH_FILE "_x86")
- endif()
-
- # What compiler version do we want?
-
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18.0.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.0.0)
- SET(VS_STR "VS2013")
- elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0)
- SET(VS_STR "VS2015")
- else()
- MESSAGE(FATAL_ERROR "Failed to find compatible PxSharedSDK - Only supporting VS2013 and VS2015")
- endif()
-
- SET(LIB_PATH ${PHYSXSDK_PATH}/lib/${VS_STR}${PHYSX_ARCH_FOLDER}-cmake${PHYSX_CRT_SUFFIX} ${PHYSXSDK_PATH}/lib/${VS_STR}${PHYSX_ARCH_FOLDER} ${PHYSXSDK_PATH}/../Lib/${PHYSX_ARCH_FOLDER}/${VS_STR} ${PHYSXSDK_PATH}/../Lib)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll")
-
-elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4")
- SET(LIB_PATH ${PHYSXSDK_PATH}/lib/vc14ps4-cmake ${PHYSXSDK_PATH}/../Lib)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
- SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne")
- SET(LIB_PATH ${PHYSXSDK_PATH}/lib/vc14xboxone-cmake ${PHYSXSDK_PATH}/../lib)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".lib")
- SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-elseif(TARGET_BUILD_PLATFORM STREQUAL "linux")
- SET(LIB_PATH ${PHYSXSDK_PATH}/lib/linux64-cmake ${PHYSXSDK_PATH}/../Lib)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
- SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
- SET(PHYSX_ARCH_FILE "_x64")
-endif()
-
-# Now find all of the PhysX libs in the lib directory
-
-find_library(PHYSX3_LIB
- NAMES PhysX3 PhysX3${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3EXTENSIONS_LIB
- NAMES PhysX3Extensions PhysX3Extensions${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3CHARACTERKINEMATIC_LIB
- NAMES PhysX3CharacterKinematic${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COMMON_LIB
- NAMES PhysX3Common${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COOKING_LIB
- NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVEL_LIB
- NAMES LowLevel LowLevel${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELAABB_LIB
- NAMES LowLevelAABB LowLevelAABB${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELCLOTH_LIB
- NAMES LowLevelCloth LowLevelCloth${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELDYNAMICS_LIB
- NAMES LowLevelDynamics LowLevelDynamics${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELPARTICLES_LIB
- NAMES LowLevelParticles LowLevelParticles${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SCENEQUERY_LIB
- NAMES SceneQuery SceneQuery${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SIMULATIONCONTROLLER_LIB
- NAMES SimulationController SimulationController${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-
-
-find_library(PHYSX3_LIB_DEBUG
- NAMES PhysX3DEBUG PhysX3DEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3EXTENSIONS_LIB_DEBUG
- NAMES PhysX3ExtensionsDEBUG PhysX3ExtensionsDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
- NAMES PhysX3CharacterKinematicDEBUG PhysX3CharacterKinematicDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COMMON_LIB_DEBUG
- NAMES PhysX3CommonDEBUG PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COOKING_LIB_DEBUG
- NAMES PhysX3CookingDEBUG PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVEL_LIB_DEBUG
- NAMES LowLevelDEBUG LowLevelDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELAABB_LIB_DEBUG
- NAMES LowLevelAABBDEBUG LowLevelAABBDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELCLOTH_LIB_DEBUG
- NAMES LowLevelClothDEBUG LowLevelClothDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELDYNAMICS_LIB_DEBUG
- NAMES LowLevelDynamicsDEBUG LowLevelDynamicsDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELPARTICLES_LIB_DEBUG
- NAMES LowLevelParticlesDEBUG LowLevelParticlesDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SCENEQUERY_LIB_DEBUG
- NAMES SceneQueryDEBUG SceneQueryDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SIMULATIONCONTROLLER_LIB_DEBUG
- NAMES SimulationControllerDEBUG SimulationControllerDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-
-find_library(PHYSX3_LIB_CHECKED
- NAMES PhysX3CHECKED PhysX3CHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3EXTENSIONS_LIB_CHECKED
- NAMES PhysX3ExtensionsCHECKED PhysX3ExtensionsCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
- NAMES PhysX3CharacterKinematicCHECKED PhysX3CharacterKinematicCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COMMON_LIB_CHECKED
- NAMES PhysX3CommonCHECKED PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COOKING_LIB_CHECKED
- NAMES PhysX3CookingCHECKED PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVEL_LIB_CHECKED
- NAMES LowLevelCHECKED LowLevelCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELAABB_LIB_CHECKED
- NAMES LowLevelAABBCHECKED LowLevelAABBCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELCLOTH_LIB_CHECKED
- NAMES LowLevelClothCHECKED LowLevelClothCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELDYNAMICS_LIB_CHECKED
- NAMES LowLevelDynamicsCHECKED LowLevelDynamicsCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELPARTICLES_LIB_CHECKED
- NAMES LowLevelParticlesCHECKED LowLevelParticlesCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SCENEQUERY_LIB_CHECKED
- NAMES SceneQueryCHECKED SceneQueryCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SIMULATIONCONTROLLER_LIB_CHECKED
- NAMES SimulationControllerCHECKED SimulationControllerCHECKED${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-
-find_library(PHYSX3_LIB_PROFILE
- NAMES PhysX3PROFILE PhysX3PROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3EXTENSIONS_LIB_PROFILE
- NAMES PhysX3ExtensionsPROFILE PhysX3ExtensionsPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
- NAMES PhysX3CharacterKinematicPROFILE PhysX3CharacterKinematicPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COMMON_LIB_PROFILE
- NAMES PhysX3CommonPROFILE PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(PHYSX3COOKING_LIB_PROFILE
- NAMES PhysX3CookingPROFILE PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVEL_LIB_PROFILE
- NAMES LowLevelPROFILE LowLevelPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELAABB_LIB_PROFILE
- NAMES LowLevelAABBPROFILE LowLevelAABBPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELCLOTH_LIB_PROFILE
- NAMES LowLevelClothPROFILE LowLevelClothPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELDYNAMICS_LIB_PROFILE
- NAMES LowLevelDynamicsPROFILE LowLevelDynamicsPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(LOWLEVELPARTICLES_LIB_PROFILE
- NAMES LowLevelParticlesPROFILE LowLevelParticlesPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SCENEQUERY_LIB_PROFILE
- NAMES SceneQueryPROFILE SceneQueryPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-find_library(SIMULATIONCONTROLLER_LIB_PROFILE
- NAMES SimulationControllerPROFILE SimulationControllerPROFILE${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
-)
-
-if (TARGET_BUILD_PLATFORM STREQUAL "Windows")
-
- find_library(PHYSX3GPU_LIB
- NAMES PhysX3Gpu${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
- )
- find_library(PHYSX3GPU_LIB_DEBUG
- NAMES PhysX3GpuDEBUG${PHYSX_ARCH_FILE}
- PATHS ${LIB_PATH}
- )
-
-
- SET(DLL_PATH ${PHYSXSDK_PATH}/bin/${VS_STR}${PHYSX_ARCH_FOLDER}-cmake${PHYSX_CRT_SUFFIX} ${PHYSXSDK_PATH}/bin/${VS_STR}${PHYSX_ARCH_FOLDER} ${PHYSXSDK_PATH}/../Bin/${PHYSX_ARCH_FOLDER}/${VS_STR} ${PHYSXSDK_PATH}/../Bin)
-
- find_library(PHYSX3_DLL
- NAMES PhysX3${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COMMON_DLL
- NAMES PhysX3Common${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COOKING_DLL
- NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3GPU_DLL
- NAMES PhysX3Gpu${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
-
-
- find_library(PHYSX3_DLL_DEBUG
- NAMES PhysX3DEBUG${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COMMON_DLL_DEBUG
- NAMES PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COOKING_DLL_DEBUG
- NAMES PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- # NOTE - GPU dlls not included in required dlls or libs as they're optional.
- find_library(PHYSX3GPU_DLL_DEBUG
- NAMES PhysX3GpuDEBUG${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
-
- find_library(PHYSX3_DLL_PROFILE
- NAMES PhysX3PROFILE${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COMMON_DLL_PROFILE
- NAMES PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COOKING_DLL_PROFILE
- NAMES PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- # NOTE - GPU dlls not included in required dlls or libs as they're optional.
- find_library(PHYSX3GPU_DLL_PROFILE
- NAMES PhysX3GpuPROFILE${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
-
- find_library(PHYSX3_DLL_CHECKED
- NAMES PhysX3CHECKED${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COMMON_DLL_CHECKED
- NAMES PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- find_library(PHYSX3COOKING_DLL_CHECKED
- NAMES PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
- # NOTE - GPU dlls not included in required dlls or libs as they're optional.
- find_library(PHYSX3GPU_DLL_CHECKED
- NAMES PhysX3GpuCHECKED${PHYSX_ARCH_FILE}
- PATHS ${DLL_PATH}
- )
-
- # Create this list to check for found dlls below
- SET(DLL_VAR_LIST
- PHYSX3_DLL
- PHYSX3COMMON_DLL
- PHYSX3COOKING_DLL
-
- PHYSX3_DLL_DEBUG
- PHYSX3COMMON_DLL_DEBUG
- PHYSX3COOKING_DLL_DEBUG
-
- PHYSX3_DLL_PROFILE
- PHYSX3COMMON_DLL_PROFILE
- PHYSX3COOKING_DLL_PROFILE
-
- PHYSX3_DLL_CHECKED
- PHYSX3COMMON_DLL_CHECKED
- PHYSX3COOKING_DLL_CHECKED
-
- )
-endif()
-
-if (TARGET_BUILD_PLATFORM STREQUAL "linux")
- SET(BIN_PATH ${PHYSXSDK_PATH}/bin/linux64-cmake ${PHYSXSDK_PATH}/../Bin)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
-
- find_library(PHYSX3_LIB
- NAMES PhysX3${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COOKING_LIB
- NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3CHARACTERKINEMATIC_LIB
- NAMES PhysX3CharacterKinematic${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COMMON_LIB
- NAMES PhysX3Common${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
-
- find_library(PHYSX3_LIB_DEBUG
- NAMES PhysX3DEBUG${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COOKING_LIB_DEBUG
- NAMES PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
- NAMES PhysX3CharacterKinematicDEBUG${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COMMON_LIB_DEBUG
- NAMES PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
-
- find_library(PHYSX3_LIB_CHECKED
- NAMES PhysX3CHECKED${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COOKING_LIB_CHECKED
- NAMES PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
- NAMES PhysX3CharacterKinematicCHECKED${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COMMON_LIB_CHECKED
- NAMES PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
-
- find_library(PHYSX3_LIB_PROFILE
- NAMES PhysX3PROFILE${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COOKING_LIB_PROFILE
- NAMES PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
- NAMES PhysX3CharacterKinematicPROFILE${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
- find_library(PHYSX3COMMON_LIB_PROFILE
- NAMES PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
- PATHS ${BIN_PATH}
- )
-
-endif()
-
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHYSXSDK
- DEFAULT_MSG
- PHYSXSDK_PATH
-
- PHYSX3_LIB
- PHYSX3EXTENSIONS_LIB
- PHYSX3CHARACTERKINEMATIC_LIB
- PHYSX3COMMON_LIB
- PHYSX3COOKING_LIB
- LOWLEVEL_LIB
- LOWLEVELAABB_LIB
- LOWLEVELCLOTH_LIB
- LOWLEVELDYNAMICS_LIB
- LOWLEVELPARTICLES_LIB
- SCENEQUERY_LIB
- SIMULATIONCONTROLLER_LIB
-
- PHYSX3_LIB_DEBUG
- PHYSX3EXTENSIONS_LIB_DEBUG
- PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
- PHYSX3COMMON_LIB_DEBUG
- PHYSX3COOKING_LIB_DEBUG
- LOWLEVEL_LIB_DEBUG
- LOWLEVELAABB_LIB_DEBUG
- LOWLEVELCLOTH_LIB_DEBUG
- LOWLEVELDYNAMICS_LIB_DEBUG
- LOWLEVELPARTICLES_LIB_DEBUG
- SCENEQUERY_LIB_DEBUG
- SIMULATIONCONTROLLER_LIB_DEBUG
-
- PHYSX3_LIB_CHECKED
- PHYSX3EXTENSIONS_LIB_CHECKED
- PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
- PHYSX3COMMON_LIB_CHECKED
- PHYSX3COOKING_LIB_CHECKED
- LOWLEVEL_LIB_CHECKED
- LOWLEVELAABB_LIB_CHECKED
- LOWLEVELCLOTH_LIB_CHECKED
- LOWLEVELDYNAMICS_LIB_CHECKED
- LOWLEVELPARTICLES_LIB_CHECKED
- SCENEQUERY_LIB_CHECKED
- SIMULATIONCONTROLLER_LIB_CHECKED
-
- PHYSX3_LIB_PROFILE
- PHYSX3EXTENSIONS_LIB_PROFILE
- PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
- PHYSX3COMMON_LIB_PROFILE
- PHYSX3COOKING_LIB_PROFILE
- LOWLEVEL_LIB_PROFILE
- LOWLEVELAABB_LIB_PROFILE
- LOWLEVELCLOTH_LIB_PROFILE
- LOWLEVELDYNAMICS_LIB_PROFILE
- LOWLEVELPARTICLES_LIB_PROFILE
- SCENEQUERY_LIB_PROFILE
- SIMULATIONCONTROLLER_LIB_PROFILE
-
- ${DLL_VAR_LIST}
-)
-
-if (PHYSXSDK_FOUND)
-
- SET(PHYSXSDK_INCLUDE_DIRS
- ${PHYSXSDK_PATH}/Include
- ${PHYSXSDK_PATH}/Include/common
- ${PHYSXSDK_PATH}/Include/cooking
- ${PHYSXSDK_PATH}/Include/extensions
- ${PHYSXSDK_PATH}/Include/geometry
- ${PHYSXSDK_PATH}/Include/gpu
- ${PHYSXSDK_PATH}/Include/deformable
- ${PHYSXSDK_PATH}/Include/particles
- ${PHYSXSDK_PATH}/Include/characterkinematic
- ${PHYSXSDK_PATH}/Include/characterdynamic
- ${PHYSXSDK_PATH}/Include/vehicle
- )
-
- SET(PHYSXSDK_LIBS_RELEASE ${PHYSX3_LIB} ${PHYSX3EXTENSIONS_LIB} ${PHYSX3CHARACTERKINEMATIC_LIB} ${PHYSX3COMMON_LIB} ${PHYSX3COOKING_LIB} ${PHYSX3GPU_LIB} ${LOWLEVEL_LIB} ${LOWLEVELAABB_LIB} ${LOWLEVELCLOTH_LIB} ${LOWLEVELDYNAMICS_LIB} ${LOWLEVELPARTICLES_LIB} ${SCENEQUERY_LIB} ${SIMULATIONCONTROLLER_LIB}
- CACHE STRING ""
- )
- SET(PHYSXSDK_LIBS_DEBUG ${PHYSX3_LIB_DEBUG} ${PHYSX3EXTENSIONS_LIB_DEBUG} ${PHYSX3CHARACTERKINEMATIC_LIB_DEBUG} ${PHYSX3COMMON_LIB_DEBUG} ${PHYSX3COOKING_LIB_DEBUG} ${PHYSX3GPU_LIB_DEBUG} ${LOWLEVEL_LIB_DEBUG} ${LOWLEVELAABB_LIB_DEBUG} ${LOWLEVELCLOTH_LIB_DEBUG} ${LOWLEVELDYNAMICS_LIB_DEBUG} ${LOWLEVELPARTICLES_LIB_DEBUG} ${SCENEQUERY_LIB_DEBUG} ${SIMULATIONCONTROLLER_LIB_DEBUG}
- CACHE STRING ""
- )
- SET(PHYSXSDK_LIBS_CHECKED ${PHYSX3_LIB_CHECKED} ${PHYSX3EXTENSIONS_LIB_CHECKED} ${PHYSX3CHARACTERKINEMATIC_LIB_CHECKED} ${PHYSX3COMMON_LIB_CHECKED} ${PHYSX3COOKING_LIB_CHECKED} ${PHYSX3GPU_LIB_CHECKED} ${LOWLEVEL_LIB_CHECKED} ${LOWLEVELAABB_LIB_CHECKED} ${LOWLEVELCLOTH_LIB_CHECKED} ${LOWLEVELDYNAMICS_LIB_CHECKED} ${LOWLEVELPARTICLES_LIB_CHECKED} ${SCENEQUERY_LIB_CHECKED} ${SIMULATIONCONTROLLER_LIB_CHECKED}
- CACHE STRING ""
- )
- SET(PHYSXSDK_LIBS_PROFILE ${PHYSX3_LIB_PROFILE} ${PHYSX3EXTENSIONS_LIB_PROFILE} ${PHYSX3CHARACTERKINEMATIC_LIB_PROFILE} ${PHYSX3COMMON_LIB_PROFILE} ${PHYSX3COOKING_LIB_PROFILE} ${PHYSX3GPU_LIB_PROFILE} ${LOWLEVEL_LIB_PROFILE} ${LOWLEVELAABB_LIB_PROFILE} ${LOWLEVELCLOTH_LIB_PROFILE} ${LOWLEVELDYNAMICS_LIB_PROFILE} ${LOWLEVELPARTICLES_LIB_PROFILE} ${SCENEQUERY_LIB_PROFILE} ${SIMULATIONCONTROLLER_LIB_PROFILE}
- CACHE STRING ""
- )
-
- #NOTE: This is all dll configs, might need to be split.
- SET(PHYSXSDK_DLLS
- ${PHYSX3_DLL} ${PHYSX3CHARACTERKINEMATIC_DLL} ${PHYSX3COMMON_DLL} ${PHYSX3COOKING_DLL} ${PHYSX3GPU_DLL}
- ${PHYSX3_DLL_DEBUG} ${PHYSX3CHARACTERKINEMATIC_DLL_DEBUG} ${PHYSX3COMMON_DLL_DEBUG} ${PHYSX3COOKING_DLL_DEBUG} ${PHYSX3GPU_DLL_DEBUG}
- ${PHYSX3_DLL_PROFILE} ${PHYSX3CHARACTERKINEMATIC_DLL_PROFILE} ${PHYSX3COMMON_DLL_PROFILE} ${PHYSX3COOKING_DLL_PROFILE} ${PHYSX3GPU_DLL_PROFILE}
- ${PHYSX3_DLL_CHECKED} ${PHYSX3CHARACTERKINEMATIC_DLL_CHECKED} ${PHYSX3COMMON_DLL_CHECKED} ${PHYSX3COOKING_DLL_CHECKED} ${PHYSX3GPU_DLL_CHECKED}
- )
-
- SET(PHYSXSDK_LIBRARIES "" CACHE STRING "")
-
- foreach(x ${PHYSXSDK_LIBS_RELEASE})
- list(APPEND PHYSXSDK_LIBRARIES optimized ${x})
- endforeach()
-
- foreach(x ${PHYSXSDK_LIBS_DEBUG})
- list(APPEND PHYSXSDK_LIBRARIES debug ${x})
- endforeach()
-endif()
+# - Try to find PhysX binary SDK
+# - Sets PHYSXSDK_LIBS_DEBUG, PHYSXSDK_LIBS_RELEASE, PHYSXSDK_LIBS_CHECKED, PHYSXSDK_LIBS_PROFILE - lists of the libraries found
+# - Sets PHYSXSDK_INCLUDE_DIRS
+# - Sets PHYSXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this
+
+include(FindPackageHandleStandardArgs)
+
+MESSAGE("Looking for PhysXSDK ${PhysXSDK_FIND_VERSION} Cached path: ${PHYSXSDK_PATH}")
+find_path(PHYSXSDK_PATH Include/PxActor.h
+ PATHS
+ $ENV{PM_PhysX_PATH}
+ $ENV{PM_PhysX_PATH}/PhysX_3.4
+ ${GW_DEPS_ROOT}/$ENV{PM_PhysX_NAME}/${PhysXSDK_FIND_VERSION}
+ ${GW_DEPS_ROOT}/PhysX/${PhysXSDK_FIND_VERSION}
+)
+
+if (TARGET_BUILD_PLATFORM STREQUAL "Windows")
+ # If the project pulling in this dependency needs the static crt, then append that to the path.
+ if (STATIC_WINCRT)
+ SET(PHYSX_CRT_SUFFIX "-staticcrt")
+ else()
+ SET(PHYSX_CRT_SUFFIX "")
+ endif()
+
+ if (CMAKE_CL_64)
+ SET(PHYSX_ARCH_FOLDER "win64")
+ SET(PHYSX_ARCH_FILE "_x64")
+ else()
+ SET(PHYSX_ARCH_FOLDER "win32")
+ SET(PHYSX_ARCH_FILE "_x86")
+ endif()
+
+ # What compiler version do we want?
+
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18.0.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.0.0)
+ SET(VS_STR "VS2013")
+ elseif (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10.0.0)
+ SET(VS_STR "VS2015")
+ elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.10.0.0)
+ SET(VS_STR "VS2017")
+ else()
+ MESSAGE(FATAL_ERROR "Failed to find compatible PxSharedSDK - Only supporting VS2013 and VS2015")
+ endif()
+
+ SET(LIB_PATH ${PHYSXSDK_PATH}/lib/${VS_STR}${PHYSX_ARCH_FOLDER}-cmake${PHYSX_CRT_SUFFIX} ${PHYSXSDK_PATH}/lib/${VS_STR}${PHYSX_ARCH_FOLDER} ${PHYSXSDK_PATH}/../Lib/${PHYSX_ARCH_FOLDER}/${VS_STR} ${PHYSXSDK_PATH}/../Lib)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll")
+
+elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4")
+ SET(LIB_PATH ${PHYSXSDK_PATH}/lib/vc14ps4-cmake ${PHYSXSDK_PATH}/../Lib)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+ SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne")
+ SET(LIB_PATH ${PHYSXSDK_PATH}/lib/vc14xboxone-cmake ${PHYSXSDK_PATH}/../lib)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".lib")
+ SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
+elseif(TARGET_BUILD_PLATFORM STREQUAL "linux")
+ SET(LIB_PATH ${PHYSXSDK_PATH}/lib/linux64-cmake ${PHYSXSDK_PATH}/../Lib)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+ SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+ SET(PHYSX_ARCH_FILE "_x64")
+endif()
+
+# Now find all of the PhysX libs in the lib directory
+
+find_library(PHYSX3_LIB
+ NAMES PhysX3 PhysX3${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3EXTENSIONS_LIB
+ NAMES PhysX3Extensions PhysX3Extensions${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3CHARACTERKINEMATIC_LIB
+ NAMES PhysX3CharacterKinematic${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COMMON_LIB
+ NAMES PhysX3Common${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COOKING_LIB
+ NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVEL_LIB
+ NAMES LowLevel LowLevel${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELAABB_LIB
+ NAMES LowLevelAABB LowLevelAABB${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELCLOTH_LIB
+ NAMES LowLevelCloth LowLevelCloth${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELDYNAMICS_LIB
+ NAMES LowLevelDynamics LowLevelDynamics${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELPARTICLES_LIB
+ NAMES LowLevelParticles LowLevelParticles${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SCENEQUERY_LIB
+ NAMES SceneQuery SceneQuery${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SIMULATIONCONTROLLER_LIB
+ NAMES SimulationController SimulationController${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+
+
+find_library(PHYSX3_LIB_DEBUG
+ NAMES PhysX3DEBUG PhysX3DEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3EXTENSIONS_LIB_DEBUG
+ NAMES PhysX3ExtensionsDEBUG PhysX3ExtensionsDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
+ NAMES PhysX3CharacterKinematicDEBUG PhysX3CharacterKinematicDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COMMON_LIB_DEBUG
+ NAMES PhysX3CommonDEBUG PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COOKING_LIB_DEBUG
+ NAMES PhysX3CookingDEBUG PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVEL_LIB_DEBUG
+ NAMES LowLevelDEBUG LowLevelDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELAABB_LIB_DEBUG
+ NAMES LowLevelAABBDEBUG LowLevelAABBDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELCLOTH_LIB_DEBUG
+ NAMES LowLevelClothDEBUG LowLevelClothDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELDYNAMICS_LIB_DEBUG
+ NAMES LowLevelDynamicsDEBUG LowLevelDynamicsDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELPARTICLES_LIB_DEBUG
+ NAMES LowLevelParticlesDEBUG LowLevelParticlesDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SCENEQUERY_LIB_DEBUG
+ NAMES SceneQueryDEBUG SceneQueryDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SIMULATIONCONTROLLER_LIB_DEBUG
+ NAMES SimulationControllerDEBUG SimulationControllerDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+
+find_library(PHYSX3_LIB_CHECKED
+ NAMES PhysX3CHECKED PhysX3CHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3EXTENSIONS_LIB_CHECKED
+ NAMES PhysX3ExtensionsCHECKED PhysX3ExtensionsCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
+ NAMES PhysX3CharacterKinematicCHECKED PhysX3CharacterKinematicCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COMMON_LIB_CHECKED
+ NAMES PhysX3CommonCHECKED PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COOKING_LIB_CHECKED
+ NAMES PhysX3CookingCHECKED PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVEL_LIB_CHECKED
+ NAMES LowLevelCHECKED LowLevelCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELAABB_LIB_CHECKED
+ NAMES LowLevelAABBCHECKED LowLevelAABBCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELCLOTH_LIB_CHECKED
+ NAMES LowLevelClothCHECKED LowLevelClothCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELDYNAMICS_LIB_CHECKED
+ NAMES LowLevelDynamicsCHECKED LowLevelDynamicsCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELPARTICLES_LIB_CHECKED
+ NAMES LowLevelParticlesCHECKED LowLevelParticlesCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SCENEQUERY_LIB_CHECKED
+ NAMES SceneQueryCHECKED SceneQueryCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SIMULATIONCONTROLLER_LIB_CHECKED
+ NAMES SimulationControllerCHECKED SimulationControllerCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+
+find_library(PHYSX3_LIB_PROFILE
+ NAMES PhysX3PROFILE PhysX3PROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3EXTENSIONS_LIB_PROFILE
+ NAMES PhysX3ExtensionsPROFILE PhysX3ExtensionsPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
+ NAMES PhysX3CharacterKinematicPROFILE PhysX3CharacterKinematicPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COMMON_LIB_PROFILE
+ NAMES PhysX3CommonPROFILE PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(PHYSX3COOKING_LIB_PROFILE
+ NAMES PhysX3CookingPROFILE PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVEL_LIB_PROFILE
+ NAMES LowLevelPROFILE LowLevelPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELAABB_LIB_PROFILE
+ NAMES LowLevelAABBPROFILE LowLevelAABBPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELCLOTH_LIB_PROFILE
+ NAMES LowLevelClothPROFILE LowLevelClothPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELDYNAMICS_LIB_PROFILE
+ NAMES LowLevelDynamicsPROFILE LowLevelDynamicsPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(LOWLEVELPARTICLES_LIB_PROFILE
+ NAMES LowLevelParticlesPROFILE LowLevelParticlesPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SCENEQUERY_LIB_PROFILE
+ NAMES SceneQueryPROFILE SceneQueryPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+find_library(SIMULATIONCONTROLLER_LIB_PROFILE
+ NAMES SimulationControllerPROFILE SimulationControllerPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+)
+
+if (TARGET_BUILD_PLATFORM STREQUAL "Windows")
+
+ find_library(PHYSX3GPU_LIB
+ NAMES PhysX3Gpu${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+ )
+ find_library(PHYSX3GPU_LIB_DEBUG
+ NAMES PhysX3GpuDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${LIB_PATH}
+ )
+
+
+ SET(DLL_PATH ${PHYSXSDK_PATH}/bin/${VS_STR}${PHYSX_ARCH_FOLDER}-cmake${PHYSX_CRT_SUFFIX} ${PHYSXSDK_PATH}/bin/${VS_STR}${PHYSX_ARCH_FOLDER} ${PHYSXSDK_PATH}/../Bin/${PHYSX_ARCH_FOLDER}/${VS_STR} ${PHYSXSDK_PATH}/../Bin)
+
+ find_library(PHYSX3_DLL
+ NAMES PhysX3${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COMMON_DLL
+ NAMES PhysX3Common${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COOKING_DLL
+ NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3GPU_DLL
+ NAMES PhysX3Gpu${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+
+
+ find_library(PHYSX3_DLL_DEBUG
+ NAMES PhysX3DEBUG${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COMMON_DLL_DEBUG
+ NAMES PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COOKING_DLL_DEBUG
+ NAMES PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ # NOTE - GPU dlls not included in required dlls or libs as they're optional.
+ find_library(PHYSX3GPU_DLL_DEBUG
+ NAMES PhysX3GpuDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+
+ find_library(PHYSX3_DLL_PROFILE
+ NAMES PhysX3PROFILE${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COMMON_DLL_PROFILE
+ NAMES PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COOKING_DLL_PROFILE
+ NAMES PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ # NOTE - GPU dlls not included in required dlls or libs as they're optional.
+ find_library(PHYSX3GPU_DLL_PROFILE
+ NAMES PhysX3GpuPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+
+ find_library(PHYSX3_DLL_CHECKED
+ NAMES PhysX3CHECKED${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COMMON_DLL_CHECKED
+ NAMES PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ find_library(PHYSX3COOKING_DLL_CHECKED
+ NAMES PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+ # NOTE - GPU dlls not included in required dlls or libs as they're optional.
+ find_library(PHYSX3GPU_DLL_CHECKED
+ NAMES PhysX3GpuCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${DLL_PATH}
+ )
+
+ # Create this list to check for found dlls below
+ SET(DLL_VAR_LIST
+ PHYSX3_DLL
+ PHYSX3COMMON_DLL
+ PHYSX3COOKING_DLL
+
+ PHYSX3_DLL_DEBUG
+ PHYSX3COMMON_DLL_DEBUG
+ PHYSX3COOKING_DLL_DEBUG
+
+ PHYSX3_DLL_PROFILE
+ PHYSX3COMMON_DLL_PROFILE
+ PHYSX3COOKING_DLL_PROFILE
+
+ PHYSX3_DLL_CHECKED
+ PHYSX3COMMON_DLL_CHECKED
+ PHYSX3COOKING_DLL_CHECKED
+
+ )
+endif()
+
+if (TARGET_BUILD_PLATFORM STREQUAL "linux")
+ SET(BIN_PATH ${PHYSXSDK_PATH}/bin/linux64-cmake ${PHYSXSDK_PATH}/../Bin)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
+
+ find_library(PHYSX3_LIB
+ NAMES PhysX3${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COOKING_LIB
+ NAMES PhysX3Cooking${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3CHARACTERKINEMATIC_LIB
+ NAMES PhysX3CharacterKinematic${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COMMON_LIB
+ NAMES PhysX3Common${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+
+ find_library(PHYSX3_LIB_DEBUG
+ NAMES PhysX3DEBUG${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COOKING_LIB_DEBUG
+ NAMES PhysX3CookingDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
+ NAMES PhysX3CharacterKinematicDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COMMON_LIB_DEBUG
+ NAMES PhysX3CommonDEBUG${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+
+ find_library(PHYSX3_LIB_CHECKED
+ NAMES PhysX3CHECKED${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COOKING_LIB_CHECKED
+ NAMES PhysX3CookingCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
+ NAMES PhysX3CharacterKinematicCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COMMON_LIB_CHECKED
+ NAMES PhysX3CommonCHECKED${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+
+ find_library(PHYSX3_LIB_PROFILE
+ NAMES PhysX3PROFILE${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COOKING_LIB_PROFILE
+ NAMES PhysX3CookingPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
+ NAMES PhysX3CharacterKinematicPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+ find_library(PHYSX3COMMON_LIB_PROFILE
+ NAMES PhysX3CommonPROFILE${PHYSX_ARCH_FILE}
+ PATHS ${BIN_PATH}
+ )
+
+endif()
+
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHYSXSDK
+ DEFAULT_MSG
+ PHYSXSDK_PATH
+
+ PHYSX3_LIB
+ PHYSX3EXTENSIONS_LIB
+ PHYSX3CHARACTERKINEMATIC_LIB
+ PHYSX3COMMON_LIB
+ PHYSX3COOKING_LIB
+ LOWLEVEL_LIB
+ LOWLEVELAABB_LIB
+ LOWLEVELCLOTH_LIB
+ LOWLEVELDYNAMICS_LIB
+ LOWLEVELPARTICLES_LIB
+ SCENEQUERY_LIB
+ SIMULATIONCONTROLLER_LIB
+
+ PHYSX3_LIB_DEBUG
+ PHYSX3EXTENSIONS_LIB_DEBUG
+ PHYSX3CHARACTERKINEMATIC_LIB_DEBUG
+ PHYSX3COMMON_LIB_DEBUG
+ PHYSX3COOKING_LIB_DEBUG
+ LOWLEVEL_LIB_DEBUG
+ LOWLEVELAABB_LIB_DEBUG
+ LOWLEVELCLOTH_LIB_DEBUG
+ LOWLEVELDYNAMICS_LIB_DEBUG
+ LOWLEVELPARTICLES_LIB_DEBUG
+ SCENEQUERY_LIB_DEBUG
+ SIMULATIONCONTROLLER_LIB_DEBUG
+
+ PHYSX3_LIB_CHECKED
+ PHYSX3EXTENSIONS_LIB_CHECKED
+ PHYSX3CHARACTERKINEMATIC_LIB_CHECKED
+ PHYSX3COMMON_LIB_CHECKED
+ PHYSX3COOKING_LIB_CHECKED
+ LOWLEVEL_LIB_CHECKED
+ LOWLEVELAABB_LIB_CHECKED
+ LOWLEVELCLOTH_LIB_CHECKED
+ LOWLEVELDYNAMICS_LIB_CHECKED
+ LOWLEVELPARTICLES_LIB_CHECKED
+ SCENEQUERY_LIB_CHECKED
+ SIMULATIONCONTROLLER_LIB_CHECKED
+
+ PHYSX3_LIB_PROFILE
+ PHYSX3EXTENSIONS_LIB_PROFILE
+ PHYSX3CHARACTERKINEMATIC_LIB_PROFILE
+ PHYSX3COMMON_LIB_PROFILE
+ PHYSX3COOKING_LIB_PROFILE
+ LOWLEVEL_LIB_PROFILE
+ LOWLEVELAABB_LIB_PROFILE
+ LOWLEVELCLOTH_LIB_PROFILE
+ LOWLEVELDYNAMICS_LIB_PROFILE
+ LOWLEVELPARTICLES_LIB_PROFILE
+ SCENEQUERY_LIB_PROFILE
+ SIMULATIONCONTROLLER_LIB_PROFILE
+
+ ${DLL_VAR_LIST}
+)
+
+if (PHYSXSDK_FOUND)
+
+ SET(PHYSXSDK_INCLUDE_DIRS
+ ${PHYSXSDK_PATH}/Include
+ ${PHYSXSDK_PATH}/Include/common
+ ${PHYSXSDK_PATH}/Include/cooking
+ ${PHYSXSDK_PATH}/Include/extensions
+ ${PHYSXSDK_PATH}/Include/geometry
+ ${PHYSXSDK_PATH}/Include/gpu
+ ${PHYSXSDK_PATH}/Include/deformable
+ ${PHYSXSDK_PATH}/Include/particles
+ ${PHYSXSDK_PATH}/Include/characterkinematic
+ ${PHYSXSDK_PATH}/Include/characterdynamic
+ ${PHYSXSDK_PATH}/Include/vehicle
+ )
+
+ SET(PHYSXSDK_LIBS_RELEASE ${PHYSX3_LIB} ${PHYSX3EXTENSIONS_LIB} ${PHYSX3CHARACTERKINEMATIC_LIB} ${PHYSX3COMMON_LIB} ${PHYSX3COOKING_LIB} ${PHYSX3GPU_LIB} ${LOWLEVEL_LIB} ${LOWLEVELAABB_LIB} ${LOWLEVELCLOTH_LIB} ${LOWLEVELDYNAMICS_LIB} ${LOWLEVELPARTICLES_LIB} ${SCENEQUERY_LIB} ${SIMULATIONCONTROLLER_LIB}
+ CACHE STRING ""
+ )
+ SET(PHYSXSDK_LIBS_DEBUG ${PHYSX3_LIB_DEBUG} ${PHYSX3EXTENSIONS_LIB_DEBUG} ${PHYSX3CHARACTERKINEMATIC_LIB_DEBUG} ${PHYSX3COMMON_LIB_DEBUG} ${PHYSX3COOKING_LIB_DEBUG} ${PHYSX3GPU_LIB_DEBUG} ${LOWLEVEL_LIB_DEBUG} ${LOWLEVELAABB_LIB_DEBUG} ${LOWLEVELCLOTH_LIB_DEBUG} ${LOWLEVELDYNAMICS_LIB_DEBUG} ${LOWLEVELPARTICLES_LIB_DEBUG} ${SCENEQUERY_LIB_DEBUG} ${SIMULATIONCONTROLLER_LIB_DEBUG}
+ CACHE STRING ""
+ )
+ SET(PHYSXSDK_LIBS_CHECKED ${PHYSX3_LIB_CHECKED} ${PHYSX3EXTENSIONS_LIB_CHECKED} ${PHYSX3CHARACTERKINEMATIC_LIB_CHECKED} ${PHYSX3COMMON_LIB_CHECKED} ${PHYSX3COOKING_LIB_CHECKED} ${PHYSX3GPU_LIB_CHECKED} ${LOWLEVEL_LIB_CHECKED} ${LOWLEVELAABB_LIB_CHECKED} ${LOWLEVELCLOTH_LIB_CHECKED} ${LOWLEVELDYNAMICS_LIB_CHECKED} ${LOWLEVELPARTICLES_LIB_CHECKED} ${SCENEQUERY_LIB_CHECKED} ${SIMULATIONCONTROLLER_LIB_CHECKED}
+ CACHE STRING ""
+ )
+ SET(PHYSXSDK_LIBS_PROFILE ${PHYSX3_LIB_PROFILE} ${PHYSX3EXTENSIONS_LIB_PROFILE} ${PHYSX3CHARACTERKINEMATIC_LIB_PROFILE} ${PHYSX3COMMON_LIB_PROFILE} ${PHYSX3COOKING_LIB_PROFILE} ${PHYSX3GPU_LIB_PROFILE} ${LOWLEVEL_LIB_PROFILE} ${LOWLEVELAABB_LIB_PROFILE} ${LOWLEVELCLOTH_LIB_PROFILE} ${LOWLEVELDYNAMICS_LIB_PROFILE} ${LOWLEVELPARTICLES_LIB_PROFILE} ${SCENEQUERY_LIB_PROFILE} ${SIMULATIONCONTROLLER_LIB_PROFILE}
+ CACHE STRING ""
+ )
+
+ #NOTE: This is all dll configs, might need to be split.
+ SET(PHYSXSDK_DLLS
+ ${PHYSX3_DLL} ${PHYSX3CHARACTERKINEMATIC_DLL} ${PHYSX3COMMON_DLL} ${PHYSX3COOKING_DLL} ${PHYSX3GPU_DLL}
+ ${PHYSX3_DLL_DEBUG} ${PHYSX3CHARACTERKINEMATIC_DLL_DEBUG} ${PHYSX3COMMON_DLL_DEBUG} ${PHYSX3COOKING_DLL_DEBUG} ${PHYSX3GPU_DLL_DEBUG}
+ ${PHYSX3_DLL_PROFILE} ${PHYSX3CHARACTERKINEMATIC_DLL_PROFILE} ${PHYSX3COMMON_DLL_PROFILE} ${PHYSX3COOKING_DLL_PROFILE} ${PHYSX3GPU_DLL_PROFILE}
+ ${PHYSX3_DLL_CHECKED} ${PHYSX3CHARACTERKINEMATIC_DLL_CHECKED} ${PHYSX3COMMON_DLL_CHECKED} ${PHYSX3COOKING_DLL_CHECKED} ${PHYSX3GPU_DLL_CHECKED}
+ )
+
+ SET(PHYSXSDK_LIBRARIES "" CACHE STRING "")
+
+ foreach(x ${PHYSXSDK_LIBS_RELEASE})
+ list(APPEND PHYSXSDK_LIBRARIES optimized ${x})
+ endforeach()
+
+ foreach(x ${PHYSXSDK_LIBS_DEBUG})
+ list(APPEND PHYSXSDK_LIBRARIES debug ${x})
+ endforeach()
+endif()