if(NOT PHYSX_SDK_PATH) find_path(PHYSX_SDK_PATH Foundation/include/Nx.h) elseif(PHYSX_SDK_PATH AND PHYSX_LOADER_LIBRARY) set(PHYSX_FIND_QUIETLY TRUE) endif() #This isn't quite right, but we'll assume they are all at the same place. find_path(PHYSX_SDK_PATH Cooking/Include/NxCooking.h /usr/local/include /usr/include "C:/Program Files/AGEIA Technologies/AGEIA PhysX SDK/v2.6.4/SDKs" ) if(PHYSX_SDK_PATH) set(PHYSX_FOUNDATION_INCLUDE_DIR "${PHYSX_SDK_PATH}/Foundation/include") set(PHYSX_COOKING_INCLUDE_DIR "${PHYSX_SDK_PATH}/Cooking/include") set(PHYSX_FRAMEWORK_INCLUDE_DIR "${PHYSX_SDK_PATH}/Framework/include") set(PHYSX_CHARACTER_INCLUDE_DIR "${PHYSX_SDK_PATH}/NxCharacter/include") set(PHYSX_EXTENSIONS_INCLUDE_DIR "${PHYSX_SDK_PATH}/NxExtensions/include") set(PHYSX_PHYSICS_INCLUDE_DIR "${PHYSX_SDK_PATH}/Physics/include") set(PHYSX_LOADER_INCLUDE_DIR "${PHYSX_SDK_PATH}/PhysXLoader/include") set(PHYSX_INCLUDE_DIRS ${PHYSX_COOKING_INCLUDE_DIR} ${PHYSX_FOUNDATION_INCLUDE_DIR} ${PHYSX_FRAMEWORK_INCLUDE_DIR} ${PHYSX_CHARACTER_INCLUDE_DIR} ${PHYSX_EXTENSIONS_INCLUDE_DIR} ${PHYSX_PHYSICS_INCLUDE_DIR} ${PHYSX_LOADER_INCLUDE_DIR} ) endif() #2.7.3 is the earliest version that can be downloaded from nVidia's archive. find_library(PHYSX_COOKING_LIBRARY NAMES NxCooking PATH_SUFFIXES "PhysX/v2.7.3" PATHS "${PHYSX_SDK_PATH}/lib/win32" ) find_library(PHYSX_CHARACTER_LIBRARY NAMES NxCharacter PATH_SUFFIXES "PhysX/v2.7.3" PATHS "${PHYSX_SDK_PATH}/lib/win32" ) find_library(PHYSX_EXTENSIONS_LIBRARY NAMES NxExtensions PATH_SUFFIXES "PhysX/v2.7.3" PATHS "${PHYSX_SDK_PATH}/lib/win32" ) find_library(PHYSX_LOADER_LIBRARY NAMES PhysXLoader PATHS "${PHYSX_SDK_PATH}/lib/win32" ) set(PHYSX_LIBRARIES ${PHYSX_COOKING_LIBRARY} ${PHYSX_CHARACTER_LIBRARY} ${PHYSX_EXTENSIONS_LIBRARY} ${PHYSX_LOADER_LIBRARY} ) mark_as_advanced(PHYSX_COOKING_LIBRARY PHYSX_CHARACTER_LIBRARY PHYSX_EXTENSIONS_LIBRARY PHYSX_LOADER_LIBRARY) if(PHYSX_SDK_PATH AND PHYSX_LOADER_LIBRARY) set(PHYSX_FOUND TRUE) endif() if (PHYSX_FOUND) if(NOT PHYSX_FIND_QUIETLY) message(STATUS "Found PhysX: ${PHYSX_SDK_PATH}") endif() else() if(PHYSX_FIND_REQUIRED) message(FATAL_ERROR "Could not find PhysX. Please set your PHYSX_SDK_PATH appropriately and try again") endif() endif()