From d61c455a4775f966b44cc47804b9e0f160d3d332 Mon Sep 17 00:00:00 2001 From: bgaldrikian Date: Tue, 10 Nov 2020 20:53:31 -0800 Subject: Merge request #17 PhysX4 compatibility Other changes for linux and UE4CrossCompileLinux, and all packaging to work --- sdk/compiler/cmake/modules/FindPxSharedSDK.cmake | 297 +---------------------- 1 file changed, 4 insertions(+), 293 deletions(-) (limited to 'sdk/compiler/cmake/modules/FindPxSharedSDK.cmake') diff --git a/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake b/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake index c3a5da1..ba89d43 100755 --- a/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake +++ b/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake @@ -1,315 +1,26 @@ -# - Try to find PxShared binary SDK -# - Sets PXSHAREDSDK_LIBS_DEBUG and PXSHAREDSDK_LIBS_RELEASE - lists of the libraries found +# - Try to find PxShared SDK # - Sets PXSHAREDSDK_INCLUDE_DIRS -# - Sets PXSHAREDSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this include(FindPackageHandleStandardArgs) -# Find the includes - # Always try explicit PATH variable first find_path(PXSHAREDSDK_PATH include/foundation/Px.h - PATHS - $ENV{PM_PxShared_PATH} - $ENV{PM_PhysX_PATH}/PxShared # multipack - ${GW_DEPS_ROOT}/$ENV{PM_PxShared_NAME}/${PxSharedSDK_FIND_VERSION} - ${GW_DEPS_ROOT}/PxShared/${PxSharedSDK_FIND_VERSION} + PATHS + $ENV{PM_pxshared_PATH} ) -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(PXSHARED_CRT_SUFFIX "-staticcrt") - else() - SET(PXSHARED_CRT_SUFFIX "") - endif() - - if (CMAKE_CL_64) - SET(PXSHARED_ARCH_FOLDER "win64") - SET(PXSHARED_ARCH_FILE "_x64") - else() - SET(PXSHARED_ARCH_FOLDER "win32") - SET(PXSHARED_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 ${PXSHAREDSDK_PATH}/lib/${VS_STR}${PXSHARED_ARCH_FOLDER}-cmake${PXSHARED_CRT_SUFFIX} ${PXSHAREDSDK_PATH}/lib/${VS_STR}${PXSHARED_ARCH_FOLDER} ${PXSHAREDSDK_PATH}/../lib/${PXSHARED_ARCH_FOLDER}/${VS_STR} ${PXSHAREDSDK_PATH}/../lib) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") - -elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") - SET(LIB_PATH ${PXSHAREDSDK_PATH}/lib/vc14ps4-cmake ${PXSHAREDSDK_PATH}/../lib) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") - SET(LIB_PATH ${PXSHAREDSDK_PATH}/lib/vc14xboxone-cmake ${PXSHAREDSDK_PATH}/../Lib) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".lib") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "") -elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") - SET(LIB_PATH ${PXSHAREDSDK_PATH}/lib/linux64-cmake ${PXSHAREDSDK_PATH}/../Lib) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") - SET(PXSHARED_ARCH_FILE "_x64") -endif() - - -# Now find all of the PxShared libs in the lib directory - - -find_library(PSFASTXML_LIB - NAMES PsFastXml PsFastXml${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXFOUNDATION_LIB - NAMES PxFoundation${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXPVDSDK_LIB - NAMES PxPvdSDK${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXTASK_LIB - NAMES PxTask PxTask${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(PSFASTXML_LIB_DEBUG - NAMES PsFastXmlDEBUG PsFastXmlDEBUG${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXFOUNDATION_LIB_DEBUG - NAMES PxFoundationDEBUG${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXPVDSDK_LIB_DEBUG - NAMES PxPvdSDKDEBUG${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXTASK_LIB_DEBUG - NAMES PxTaskDEBUG PxTaskDEBUG${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(PSFASTXML_LIB_CHECKED - NAMES PsFastXmlCHECKED PsFastXmlCHECKED${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXFOUNDATION_LIB_CHECKED - NAMES PxFoundationCHECKED${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXPVDSDK_LIB_CHECKED - NAMES PxPvdSDKCHECKED${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXTASK_LIB_CHECKED - NAMES PxTaskCHECKED PxTaskCHECKED${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(PSFASTXML_LIB_PROFILE - NAMES PsFastXmlPROFILE PsFastXmlPROFILE${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXFOUNDATION_LIB_PROFILE - NAMES PxFoundationPROFILE${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXPVDSDK_LIB_PROFILE - NAMES PxPvdSDKPROFILE${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(PXTASK_LIB_PROFILE - NAMES PxTaskPROFILE PxTaskPROFILE${PXSHARED_ARCH_FILE} - PATHS ${LIB_PATH} -) - -if (TARGET_BUILD_PLATFORM STREQUAL "Windows") - SET(DLL_PATH ${PXSHAREDSDK_PATH}/bin/${VS_STR}${PXSHARED_ARCH_FOLDER}-cmake${PXSHARED_CRT_SUFFIX} ${PXSHAREDSDK_PATH}/bin/${VS_STR}${PXSHARED_ARCH_FOLDER} ${PXSHAREDSDK_PATH}/../bin/${PXSHARED_ARCH_FOLDER}/${VS_STR} ${PXSHAREDSDK_PATH}/../bin) - - find_library(PXFOUNDATION_DLL - NAMES PxFoundation${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(PXPVDSDK_DLL - NAMES PxPvdSDK${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - - find_library(PXFOUNDATION_DLL_DEBUG - NAMES PxFoundationDEBUG${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(PXPVDSDK_DLL_DEBUG - NAMES PxPvdSDKDEBUG${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - - find_library(PXFOUNDATION_DLL_CHECKED - NAMES PxFoundationCHECKED${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(PXPVDSDK_DLL_CHECKED - NAMES PxPvdSDKCHECKED${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - - find_library(PXFOUNDATION_DLL_PROFILE - NAMES PxFoundationPROFILE${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(PXPVDSDK_DLL_PROFILE - NAMES PxPvdSDKPROFILE${PXSHARED_ARCH_FILE} - PATHS ${DLL_PATH} - ) - - #Put the found dll variables in a list if we actually looked for them (windows) - SET(DLL_VAR_LIST - PXFOUNDATION_DLL - PXPVDSDK_DLL - - PXFOUNDATION_DLL_DEBUG - PXPVDSDK_DLL_DEBUG - - PXFOUNDATION_DLL_CHECKED - PXPVDSDK_DLL_CHECKED - - PXFOUNDATION_DLL_PROFILE - PXPVDSDK_DLL_PROFILE - - ) -endif() - -if (TARGET_BUILD_PLATFORM STREQUAL "linux") - SET(BIN_PATH ${PXSHAREDSDK_PATH}/bin/linux64-cmake ${PXSHAREDSDK_PATH}/../Bin) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so") - - find_library(PXFOUNDATION_LIB - NAMES PxFoundation${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - find_library(PXPVDSDK_LIB - NAMES PxPvdSDK${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - - find_library(PXFOUNDATION_LIB_CHECKED - NAMES PxFoundationCHECKED${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - find_library(PXPVDSDK_LIB_CHECKED - NAMES PxPvdSDKCHECKED${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - - find_library(PXFOUNDATION_LIB_DEBUG - NAMES PxFoundationDEBUG${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - find_library(PXPVDSDK_LIB_DEBUG - NAMES PxPvdSDKDEBUG${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - - find_library(PXFOUNDATION_LIB_PROFILE - NAMES PxFoundationPROFILE${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) - find_library(PXPVDSDK_LIB_PROFILE - NAMES PxPvdSDKPROFILE${PXSHARED_ARCH_FILE} - PATHS ${BIN_PATH} - ) -endif() - FIND_PACKAGE_HANDLE_STANDARD_ARGS(PXSHAREDSDK DEFAULT_MSG PXSHAREDSDK_PATH - - PSFASTXML_LIB - PXFOUNDATION_LIB - PXPVDSDK_LIB - PXTASK_LIB - - PSFASTXML_LIB_DEBUG - PXFOUNDATION_LIB_DEBUG - PXPVDSDK_LIB_DEBUG - PXTASK_LIB_DEBUG - - PSFASTXML_LIB_CHECKED - PXFOUNDATION_LIB_CHECKED - PXPVDSDK_LIB_CHECKED - PXTASK_LIB_CHECKED - - PSFASTXML_LIB_PROFILE - PXFOUNDATION_LIB_PROFILE - PXPVDSDK_LIB_PROFILE - PXTASK_LIB_PROFILE - - - ${DLL_VAR_LIST} ) if (PXSHAREDSDK_FOUND) - # NOTE: This include list is way too long and reaches into too many internals. # Also may not be good enough for all users. SET(PXSHAREDSDK_INCLUDE_DIRS - ${PXSHAREDSDK_PATH}/include - ${PXSHAREDSDK_PATH}/include/pvd - ${PXSHAREDSDK_PATH}/include/task + ${PXSHAREDSDK_PATH}/include ${PXSHAREDSDK_PATH}/include/filebuf ${PXSHAREDSDK_PATH}/include/foundation - ${PXSHAREDSDK_PATH}/src/foundation/include ${PXSHAREDSDK_PATH}/src/filebuf/include - ${PXSHAREDSDK_PATH}/src/fastxml/include - ) - - SET(PXSHAREDSDK_LIBS_RELEASE ${PSFASTXML_LIB} ${PXFOUNDATION_LIB} ${PXPVDSDK_LIB} ${PXTASK_LIB} - CACHE STRING "" - ) - SET(PXSHAREDSDK_LIBS_DEBUG ${PSFASTXML_LIB_DEBUG} ${PXFOUNDATION_LIB_DEBUG} ${PXPVDSDK_LIB_DEBUG} ${PXTASK_LIB_DEBUG} - CACHE STRING "" - ) - - SET(PXSHAREDSDK_LIBS_CHECKED ${PSFASTXML_LIB_CHECKED} ${PXFOUNDATION_LIB_CHECKED} ${PXPVDSDK_LIB_CHECKED} ${PXTASK_LIB_CHECKED} - CACHE STRING "" - ) - - SET(PXSHAREDSDK_LIBS_PROFILE ${PSFASTXML_LIB_PROFILE} ${PXFOUNDATION_LIB_PROFILE} ${PXPVDSDK_LIB_PROFILE} ${PXTASK_LIB_PROFILE} - CACHE STRING "" - ) - - SET(PXSHAREDSDK_DLLS - ${PXFOUNDATION_DLL} - ${PXPVDSDK_DLL} - - ${PXFOUNDATION_DLL_DEBUG} - ${PXPVDSDK_DLL_DEBUG} - - ${PXFOUNDATION_DLL_CHECKED} - ${PXPVDSDK_DLL_CHECKED} - - ${PXFOUNDATION_DLL_PROFILE} - ${PXPVDSDK_DLL_PROFILE} ) - - SET(PXSHAREDSDK_LIBRARIES "" CACHE STRING "") - - foreach(x ${PXSHAREDSDK_LIBS_RELEASE}) - list(APPEND PXSHAREDSDK_LIBRARIES optimized ${x}) - endforeach() - - foreach(x ${PXSHAREDSDK_LIBS_DEBUG}) - list(APPEND PXSHAREDSDK_LIBRARIES debug ${x}) - endforeach() endif() -- cgit v1.2.3