diff options
| author | Bryan Galdrikian <[email protected]> | 2018-05-31 11:36:08 -0700 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2018-05-31 11:36:08 -0700 |
| commit | 7115f60b91b5717d90f643fd692010905c7004db (patch) | |
| tree | effd68c6978751c517d54c2f2bb5bb6e7dc93e18 /sdk/compiler/cmake/modules/FindPhysXSDK.cmake | |
| parent | Updating BlastTool zip (diff) | |
| download | blast-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.cmake | 1096 |
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()
|