From 7115f60b91b5717d90f643fd692010905c7004db Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Thu, 31 May 2018 11:36:08 -0700 Subject: Blast 1.1.3. See docs/release_notes.txt. --- sdk/compiler/cmake/modules/CapnProtoGenerate.cmake | 214 ++-- sdk/compiler/cmake/modules/FindApexSDK.cmake | 400 ------- .../cmake/modules/FindBoostMultiprecision.cmake | 45 +- sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake | 278 ++--- sdk/compiler/cmake/modules/FindFBXSDK.cmake | 146 +-- sdk/compiler/cmake/modules/FindGoogleTestNV.cmake | 266 ++--- sdk/compiler/cmake/modules/FindPhysXSDK.cmake | 1096 ++++++++++---------- sdk/compiler/cmake/modules/FindPxSharedSDK.cmake | 628 +++++------ sdk/compiler/cmake/modules/FindXDK.cmake | 514 ++++----- 9 files changed, 1596 insertions(+), 1991 deletions(-) mode change 100644 => 100755 sdk/compiler/cmake/modules/CapnProtoGenerate.cmake delete mode 100644 sdk/compiler/cmake/modules/FindApexSDK.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindFBXSDK.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindGoogleTestNV.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindPhysXSDK.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindPxSharedSDK.cmake mode change 100644 => 100755 sdk/compiler/cmake/modules/FindXDK.cmake (limited to 'sdk/compiler/cmake/modules') diff --git a/sdk/compiler/cmake/modules/CapnProtoGenerate.cmake b/sdk/compiler/cmake/modules/CapnProtoGenerate.cmake old mode 100644 new mode 100755 index 5d57cd0..8320faa --- a/sdk/compiler/cmake/modules/CapnProtoGenerate.cmake +++ b/sdk/compiler/cmake/modules/CapnProtoGenerate.cmake @@ -1,108 +1,108 @@ -# Configuration variables (optional): -# CAPNPC_OUTPUT_DIR -# Directory to place compiled schema sources (default: the same directory as the schema file). -# CAPNPC_IMPORT_DIRS -# List of additional include directories for the schema compiler. -# (CMAKE_CURRENT_SOURCE_DIR and CAPNP_INCLUDE_DIRS are always included.) -# CAPNPC_SRC_PREFIX -# Schema file source prefix (default: CMAKE_CURRENT_SOURCE_DIR). -# CAPNPC_FLAGS -# Additional flags to pass to the schema compiler. -# Example usage: -# -# capnp_generate_cpp(CAPNP_SRCS CAPNP_HDRS schema.capnp) -# add_executable(a a.cc ${CAPNP_SRCS} ${CAPNP_HDRS}) -# target_link_library(a ${CAPNP_LIBRARIES}) -# -# For out-of-source builds: -# -# set(CAPNPC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) -# include_directories(${CAPNPC_OUTPUT_DIR}) -# capnp_generate_cpp(...) - -function(CAPNP_GENERATE_CPP SOURCES HEADERS) - if(NOT ARGN) - message(SEND_ERROR "CAPNP_GENERATE_CPP() called without any source files.") - endif() - if(NOT CAPNP_EXECUTABLE) - message(SEND_ERROR "Could not locate capnp executable (CAPNP_EXECUTABLE).") - endif() - if(NOT CAPNPC_CXX_EXECUTABLE) - message(SEND_ERROR "Could not locate capnpc-c++ executable (CAPNPC_CXX_EXECUTABLE).") - endif() - if(NOT CAPNP_INCLUDE_DIRS) - message(SEND_ERROR "Could not locate capnp header files (CAPNP_INCLUDE_DIRS).") - endif() - - # Default compiler includes - set(include_path -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${CAPNP_INCLUDE_DIRS}) - - if(DEFINED CAPNPC_IMPORT_DIRS) - # Append each directory as a series of '-I' flags in ${include_path} - foreach(directory ${CAPNPC_IMPORT_DIRS}) - get_filename_component(absolute_path "${directory}" ABSOLUTE) - list(APPEND include_path -I ${absolute_path}) - endforeach() - endif() - - if(DEFINED CAPNPC_OUTPUT_DIR) - set(output_dir "${CAPNPC_OUTPUT_DIR}") - else() - set(output_dir ".") - endif() - - if(NOT DEFINED CAPNPC_SRC_PREFIX) - set(CAPNPC_SRC_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}") - endif() - get_filename_component(CAPNPC_SRC_PREFIX "${CAPNPC_SRC_PREFIX}" ABSOLUTE) - - set(${SOURCES}) - set(${HEADERS}) - foreach(schema_file ${ARGN}) - get_filename_component(file_path "${schema_file}" ABSOLUTE) - get_filename_component(file_dir "${file_path}" PATH) - - # Figure out where the output files will go - if (NOT DEFINED CAPNPC_OUTPUT_DIR) - set(output_base "${file_path}") - else() - # Output files are placed in CAPNPC_OUTPUT_DIR, at a location as if they were - # relative to CAPNPC_SRC_PREFIX. - string(LENGTH "${CAPNPC_SRC_PREFIX}" prefix_len) - string(SUBSTRING "${file_path}" 0 ${prefix_len} output_prefix) - if(NOT "${CAPNPC_SRC_PREFIX}" STREQUAL "${output_prefix}") - message(SEND_ERROR "Could not determine output path for '${schema_file}' ('${file_path}') with source prefix '${CAPNPC_SRC_PREFIX}' into '${CAPNPC_OUTPUT_DIR}'.") - endif() - - string(SUBSTRING "${file_path}" ${prefix_len} -1 output_path) - set(output_base "${CAPNPC_OUTPUT_DIR}${output_path}") - endif() - - MESSAGE("Output base: " ${output_base}) - MESSAGE("Output path: " ${output_path}) - MESSAGE("Output dir: " ${output_dir}) - MESSAGE("Src prefix: " ${CAPNPC_SRC_PREFIX}) - - add_custom_command( - OUTPUT "${output_base}.c++" "${output_base}.h" - COMMAND ${CMAKE_COMMAND} -E make_directory ${output_dir} - COMMAND "${CAPNP_EXECUTABLE}" - ARGS compile - -o ${CAPNPC_CXX_EXECUTABLE}:${output_dir} - --verbose - --src-prefix ${CAPNPC_SRC_PREFIX} - ${include_path} - ${CAPNPC_FLAGS} - ${file_path} - DEPENDS "${schema_file}" - COMMENT "Compiling Cap'n Proto schema ${schema_file}" - VERBATIM - ) - list(APPEND ${SOURCES} "${output_base}.c++") - list(APPEND ${HEADERS} "${output_base}.h") - endforeach() - - set_source_files_properties(${${SOURCES}} ${${HEADERS}} PROPERTIES GENERATED TRUE) - set(${SOURCES} ${${SOURCES}} PARENT_SCOPE) - set(${HEADERS} ${${HEADERS}} PARENT_SCOPE) +# Configuration variables (optional): +# CAPNPC_OUTPUT_DIR +# Directory to place compiled schema sources (default: the same directory as the schema file). +# CAPNPC_IMPORT_DIRS +# List of additional include directories for the schema compiler. +# (CMAKE_CURRENT_SOURCE_DIR and CAPNP_INCLUDE_DIRS are always included.) +# CAPNPC_SRC_PREFIX +# Schema file source prefix (default: CMAKE_CURRENT_SOURCE_DIR). +# CAPNPC_FLAGS +# Additional flags to pass to the schema compiler. +# Example usage: +# +# capnp_generate_cpp(CAPNP_SRCS CAPNP_HDRS schema.capnp) +# add_executable(a a.cc ${CAPNP_SRCS} ${CAPNP_HDRS}) +# target_link_library(a ${CAPNP_LIBRARIES}) +# +# For out-of-source builds: +# +# set(CAPNPC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) +# include_directories(${CAPNPC_OUTPUT_DIR}) +# capnp_generate_cpp(...) + +function(CAPNP_GENERATE_CPP SOURCES HEADERS) + if(NOT ARGN) + message(SEND_ERROR "CAPNP_GENERATE_CPP() called without any source files.") + endif() + if(NOT CAPNP_EXECUTABLE) + message(SEND_ERROR "Could not locate capnp executable (CAPNP_EXECUTABLE).") + endif() + if(NOT CAPNPC_CXX_EXECUTABLE) + message(SEND_ERROR "Could not locate capnpc-c++ executable (CAPNPC_CXX_EXECUTABLE).") + endif() + if(NOT CAPNP_INCLUDE_DIRS) + message(SEND_ERROR "Could not locate capnp header files (CAPNP_INCLUDE_DIRS).") + endif() + + # Default compiler includes + set(include_path -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${CAPNP_INCLUDE_DIRS}) + + if(DEFINED CAPNPC_IMPORT_DIRS) + # Append each directory as a series of '-I' flags in ${include_path} + foreach(directory ${CAPNPC_IMPORT_DIRS}) + get_filename_component(absolute_path "${directory}" ABSOLUTE) + list(APPEND include_path -I ${absolute_path}) + endforeach() + endif() + + if(DEFINED CAPNPC_OUTPUT_DIR) + set(output_dir "${CAPNPC_OUTPUT_DIR}") + else() + set(output_dir ".") + endif() + + if(NOT DEFINED CAPNPC_SRC_PREFIX) + set(CAPNPC_SRC_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}") + endif() + get_filename_component(CAPNPC_SRC_PREFIX "${CAPNPC_SRC_PREFIX}" ABSOLUTE) + + set(${SOURCES}) + set(${HEADERS}) + foreach(schema_file ${ARGN}) + get_filename_component(file_path "${schema_file}" ABSOLUTE) + get_filename_component(file_dir "${file_path}" PATH) + + # Figure out where the output files will go + if (NOT DEFINED CAPNPC_OUTPUT_DIR) + set(output_base "${file_path}") + else() + # Output files are placed in CAPNPC_OUTPUT_DIR, at a location as if they were + # relative to CAPNPC_SRC_PREFIX. + string(LENGTH "${CAPNPC_SRC_PREFIX}" prefix_len) + string(SUBSTRING "${file_path}" 0 ${prefix_len} output_prefix) + if(NOT "${CAPNPC_SRC_PREFIX}" STREQUAL "${output_prefix}") + message(SEND_ERROR "Could not determine output path for '${schema_file}' ('${file_path}') with source prefix '${CAPNPC_SRC_PREFIX}' into '${CAPNPC_OUTPUT_DIR}'.") + endif() + + string(SUBSTRING "${file_path}" ${prefix_len} -1 output_path) + set(output_base "${CAPNPC_OUTPUT_DIR}${output_path}") + endif() + + MESSAGE("Output base: " ${output_base}) + MESSAGE("Output path: " ${output_path}) + MESSAGE("Output dir: " ${output_dir}) + MESSAGE("Src prefix: " ${CAPNPC_SRC_PREFIX}) + + add_custom_command( + OUTPUT "${output_base}.c++" "${output_base}.h" + COMMAND ${CMAKE_COMMAND} -E make_directory ${output_dir} + COMMAND "${CAPNP_EXECUTABLE}" + ARGS compile + -o ${CAPNPC_CXX_EXECUTABLE}:${output_dir} + --verbose + --src-prefix ${CAPNPC_SRC_PREFIX} + ${include_path} + ${CAPNPC_FLAGS} + ${file_path} + DEPENDS "${schema_file}" + COMMENT "Compiling Cap'n Proto schema ${schema_file}" + VERBATIM + ) + list(APPEND ${SOURCES} "${output_base}.c++") + list(APPEND ${HEADERS} "${output_base}.h") + endforeach() + + set_source_files_properties(${${SOURCES}} ${${HEADERS}} PROPERTIES GENERATED TRUE) + set(${SOURCES} ${${SOURCES}} PARENT_SCOPE) + set(${HEADERS} ${${HEADERS}} PARENT_SCOPE) endfunction() \ No newline at end of file diff --git a/sdk/compiler/cmake/modules/FindApexSDK.cmake b/sdk/compiler/cmake/modules/FindApexSDK.cmake deleted file mode 100644 index cc45e53..0000000 --- a/sdk/compiler/cmake/modules/FindApexSDK.cmake +++ /dev/null @@ -1,400 +0,0 @@ -# - Try to find Apex binary SDK -# - Sets APEXSDK_LIBS_DEBUG and APEXSDK_LIBS_RELEASE - lists of the libraries found -# - Sets APEXSDK_INCLUDE_DIRS -# - Sets APEXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this - -include(FindPackageHandleStandardArgs) - -# Find the includes - -find_path(APEXSDK_PATH include/Apex.h - PATHS - $ENV{PM_Apex_PATH} - $ENV{PM_PhysX_PATH}/APEX_1.4 # multipack - ${GW_DEPS_ROOT}/$ENV{PM_Apex_NAME}/${ApexSDK_FIND_VERSION} - ${GW_DEPS_ROOT}/Apex/${ApexSDK_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(PXSHARED_CRT_SUFFIX "-staticcrt") - else() - SET(PXSHARED_CRT_SUFFIX "") - endif() - - if (CMAKE_CL_64) - SET(APEX_ARCH_FOLDER "win64") - SET(APEX_ARCH_FILE "_x64") - else() - SET(APEX_ARCH_FOLDER "win32") - SET(APEX_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 ${APEXSDK_PATH}/lib/${VS_STR}${APEX_ARCH_FOLDER}-cmake${PHYSX_CRT_SUFFIX} ${APEXSDK_PATH}/lib/${VS_STR}${APEX_ARCH_FOLDER}-NoPhysX ${APEXSDK_PATH}/../Lib/${APEX_ARCH_FOLDER}/${VS_STR} ${APEXSDK_PATH}/../Lib) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") - -elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") - SET(LIB_PATH ${APEXSDK_PATH}/lib/vc14ps4-cmake) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") - SET(LIB_PATH ${APEXSDK_PATH}/lib/vc14xboxone-cmake) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") - SET(LIB_PATH ${APEXSDK_PATH}/lib/linux64-cmake) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -endif() - -find_library(APEXCLOTHING_LIB - NAMES APEX_Clothing APEX_Clothing${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXDESTRUCTIBLE_LIB - NAMES APEX_Destructible APEX_Destructible${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLEGACY_LIB - NAMES APEX_Legacy APEX_Legacy${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLOADER_LIB - NAMES APEX_Loader APEX_Loader${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXCOMMON_LIB - NAMES APEXCommon APEXCommon${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXFRAMEWORK_LIB - NAMES APEXFramework APEXFramework${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXSHARED_LIB - NAMES APEXShared APEXShared${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(APEXCLOTHING_LIB_DEBUG - NAMES APEX_ClothingDEBUG APEX_ClothingDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXDESTRUCTIBLE_LIB_DEBUG - NAMES APEX_DestructibleDEBUG APEX_DestructibleDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLEGACY_LIB_DEBUG - NAMES APEX_LegacyDEBUG APEX_LegacyDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLOADER_LIB_DEBUG - NAMES APEX_LoaderDEBUG APEX_LoaderDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXCOMMON_LIB_DEBUG - NAMES APEXCommonDEBUG APEXCommonDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXFRAMEWORK_LIB_DEBUG - NAMES APEXFrameworkDEBUG APEXFrameworkDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXSHARED_LIB_DEBUG - NAMES APEXSharedDEBUG APEXSharedDEBUG${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(APEXCLOTHING_LIB_CHECKED - NAMES APEX_ClothingCHECKED APEX_ClothingCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXDESTRUCTIBLE_LIB_CHECKED - NAMES APEX_DestructibleCHECKED APEX_DestructibleCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLEGACY_LIB_CHECKED - NAMES APEX_LegacyCHECKED APEX_LegacyCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLOADER_LIB_CHECKED - NAMES APEX_LoaderCHECKED APEX_LoaderCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXCOMMON_LIB_CHECKED - NAMES APEXCommonCHECKED APEXCommonCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXFRAMEWORK_LIB_CHECKED - NAMES APEXFrameworkCHECKED APEXFrameworkCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXSHARED_LIB_CHECKED - NAMES APEXSharedCHECKED APEXSharedCHECKED${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) - -find_library(APEXCLOTHING_LIB_PROFILE - NAMES APEX_ClothingPROFILE APEX_ClothingPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXDESTRUCTIBLE_LIB_PROFILE - NAMES APEX_DestructiblePROFILE APEX_DestructiblePROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLEGACY_LIB_PROFILE - NAMES APEX_LegacyPROFILE APEX_LegacyPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXLOADER_LIB_PROFILE - NAMES APEX_LoaderPROFILE APEX_LoaderPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXCOMMON_LIB_PROFILE - NAMES APEXCommonPROFILE APEXCommonPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXFRAMEWORK_LIB_PROFILE - NAMES APEXFrameworkPROFILE APEXFrameworkPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) -find_library(APEXSHARED_LIB_PROFILE - NAMES APEXSharedPROFILE APEXSharedPROFILE${APEX_ARCH_FILE} - PATHS ${LIB_PATH} -) - - -if (TARGET_BUILD_PLATFORM STREQUAL "Windows") - - SET(DLL_PATH ${APEXSDK_PATH}/bin/${VS_STR}${APEX_ARCH_FOLDER}-cmake${APEX_CRT_SUFFIX} ${APEXSDK_PATH}/bin/${VS_STR}${APEX_ARCH_FOLDER}-NoPhysX ${APEXSDK_PATH}/../Bin/${APEX_ARCH_FOLDER}/${VS_STR} ${APEXSDK_PATH}/../Bin) - -# find_library(APEXCLOTHING_DLL -# NAMES APEX_Clothing APEX_Clothing${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) -# find_library(APEXDESTRUCTIBLE_DLL -# NAMES APEX_Destructible APEX_Destructible${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) - find_library(APEXLEGACY_DLL - NAMES APEX_Legacy APEX_Legacy${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXLOADER_DLL - NAMES APEX_Loader APEX_Loader${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXFRAMEWORK_DLL - NAMES APEXFramework APEXFramework${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - -# find_library(APEXCLOTHING_DLL_DEBUG -# NAMES APEX_ClothingDEBUG APEX_ClothingDEBUG${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) -# find_library(APEXDESTRUCTIBLE_DLL_DEBUG -# NAMES APEX_DestructibleDEBUG APEX_DestructibleDEBUG${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) - find_library(APEXLEGACY_DLL_DEBUG - NAMES APEX_LegacyDEBUG APEX_LegacyDEBUG${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXLOADER_DLL_DEBUG - NAMES APEX_LoaderDEBUG APEX_LoaderDEBUG${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXFRAMEWORK_DLL_DEBUG - NAMES APEXFrameworkDEBUG APEXFrameworkDEBUG${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - -# find_library(APEXCLOTHING_DLL_CHECKED -# NAMES APEX_ClothingCHECKED APEX_ClothingCHECKED${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) -# find_library(APEXDESTRUCTIBLE_DLL_CHECKED -# NAMES APEX_DestructibleCHECKED APEX_DestructibleCHECKED${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) - find_library(APEXLEGACY_DLL_CHECKED - NAMES APEX_LegacyCHECKED APEX_LegacyCHECKED${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXLOADER_DLL_CHECKED - NAMES APEX_LoaderCHECKED APEX_LoaderCHECKED${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXFRAMEWORK_DLL_CHECKED - NAMES APEXFrameworkCHECKED APEXFrameworkCHECKED${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - -# find_library(APEXCLOTHING_DLL_PROFILE -# NAMES APEX_ClothingPROFILE APEX_ClothingPROFILE${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) -# find_library(APEXDESTRUCTIBLE_DLL_PROFILE -# NAMES APEX_DestructiblePROFILE APEX_DestructiblePROFILE${APEX_ARCH_FILE} -# PATHS ${DLL_PATH} -# ) - find_library(APEXLEGACY_DLL_PROFILE - NAMES APEX_LegacyPROFILE APEX_LegacyPROFILE${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXLOADER_DLL_PROFILE - NAMES APEX_LoaderPROFILE APEX_LoaderPROFILE${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - find_library(APEXFRAMEWORK_DLL_PROFILE - NAMES APEXFrameworkPROFILE APEXFrameworkPROFILE${APEX_ARCH_FILE} - PATHS ${DLL_PATH} - ) - - - SET(DLL_VAR_LIST - #APEXCLOTHING_DLL - #APEXDESTRUCTIBLE_DLL - APEXLEGACY_DLL - APEXLOADER_DLL - APEXFRAMEWORK_DLL - - #APEXCLOTHING_DLL_DEBUG - #APEXDESTRUCTIBLE_DLL_DEBUG - APEXLEGACY_DLL_DEBUG - APEXLOADER_DLL_DEBUG - APEXFRAMEWORK_DLL_DEBUG - - #APEXCLOTHING_DLL_CHECKED - #APEXDESTRUCTIBLE_DLL_CHECKED - APEXLEGACY_DLL_CHECKED - APEXLOADER_DLL_CHECKED - APEXFRAMEWORK_DLL_CHECKED - - #APEXCLOTHING_DLL_PROFILE - #APEXDESTRUCTIBLE_DLL_PROFILE - APEXLEGACY_DLL_PROFILE - APEXLOADER_DLL_PROFILE - APEXFRAMEWORK_DLL_PROFILE - - ) -endif() - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(APEXSDK - DEFAULT_MSG - APEXSDK_PATH - - #APEXCLOTHING_LIB - #APEXDESTRUCTIBLE_LIB - APEXLEGACY_LIB - APEXLOADER_LIB - APEXCOMMON_LIB - APEXFRAMEWORK_LIB - APEXSHARED_LIB - - #APEXCLOTHING_LIB_DEBUG - #APEXDESTRUCTIBLE_LIB_DEBUG - APEXLEGACY_LIB_DEBUG - APEXLOADER_LIB_DEBUG - APEXCOMMON_LIB_DEBUG - APEXFRAMEWORK_LIB_DEBUG - APEXSHARED_LIB_DEBUG - - #APEXCLOTHING_LIB_CHECKED - #APEXDESTRUCTIBLE_LIB_CHECKED - APEXLEGACY_LIB_CHECKED - APEXLOADER_LIB_CHECKED - APEXCOMMON_LIB_CHECKED - APEXFRAMEWORK_LIB_CHECKED - APEXSHARED_LIB_CHECKED - - #APEXCLOTHING_LIB_PROFILE - #APEXDESTRUCTIBLE_LIB_PROFILE - APEXLEGACY_LIB_PROFILE - APEXLOADER_LIB_PROFILE - APEXCOMMON_LIB_PROFILE - APEXFRAMEWORK_LIB_PROFILE - APEXSHARED_LIB_PROFILE - - ${DLL_VAR_LIST} -) - -if (APEXSDK_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(APEXSDK_INCLUDE_DIRS - ${APEXSDK_PATH}/public - ${APEXSDK_PATH}/include - ${APEXSDK_PATH}/common/include - ${APEXSDK_PATH}/common/include/autogen - ${APEXSDK_PATH}/NvParameterized/include - ${APEXSDK_PATH}/include/destructible - ${APEXSDK_PATH}/include/PhysX3 - ${APEXSDK_PATH}/shared/external/include - ${APEXSDK_PATH}/shared/internal/include - ${APEXSDK_PATH}/shared/general/shared - ${APEXSDK_PATH}/shared/general/RenderDebug/public - ) - - SET(APEXSDK_LIBS_RELEASE ${APEXLEGACY_LIB} ${APEXLOADER_LIB} ${APEXCOMMON_LIB} ${APEXFRAMEWORK_LIB} ${APEXSHARED_LIB} - CACHE STRING "" - ) - SET(APEXSDK_LIBS_DEBUG ${APEXLEGACY_LIB_DEBUG} ${APEXLOADER_LIB_DEBUG} ${APEXCOMMON_LIB_DEBUG} ${APEXFRAMEWORK_LIB_DEBUG} ${APEXSHARED_LIB_DEBUG} - CACHE STRING "" - ) - SET(APEXSDK_LIBS_CHECKED ${APEXLEGACY_LIB_CHECKED} ${APEXLOADER_LIB_CHECKED} ${APEXCOMMON_LIB_CHECKED} ${APEXFRAMEWORK_LIB_CHECKED} ${APEXSHARED_LIB_CHECKED} - CACHE STRING "" - ) - SET(APEXSDK_LIBS_PROFILE ${APEXLEGACY_LIB_PROFILE} ${APEXLOADER_LIB_PROFILE} ${APEXCOMMON_LIB_PROFILE} ${APEXFRAMEWORK_LIB_PROFILE} ${APEXSHARED_LIB_PROFILE} - CACHE STRING "" - ) - - - SET(APEXSDK_DLLS - #${APEXCLOTHING_DLL} - #${APEXDESTRUCTIBLE_DLL} - ${APEXLEGACY_DLL} - ${APEXLOADER_DLL} - ${APEXFRAMEWORK_DLL} - - #${APEXCLOTHING_DLL_DEBUG} - #${APEXDESTRUCTIBLE_DLL_DEBUG} - ${APEXLEGACY_DLL_DEBUG} - ${APEXLOADER_DLL_DEBUG} - ${APEXFRAMEWORK_DLL_DEBUG} - - #${APEXCLOTHING_DLL_CHECKED} - #${APEXDESTRUCTIBLE_DLL_CHECKED} - ${APEXLEGACY_DLL_CHECKED} - ${APEXLOADER_DLL_CHECKED} - ${APEXFRAMEWORK_DLL_CHECKED} - - #${APEXCLOTHING_DLL_PROFILE} - #${APEXDESTRUCTIBLE_DLL_PROFILE} - ${APEXLEGACY_DLL_PROFILE} - ${APEXLOADER_DLL_PROFILE} - ${APEXFRAMEWORK_DLL_PROFILE} - ) - - SET(APEXSDK_LIBRARIES "" CACHE STRING "") - - foreach(x ${APEXSDK_LIBS_RELEASE}) - list(APPEND APEXSDK_LIBRARIES optimized ${x}) - endforeach() - - foreach(x ${APEXSDK_LIBS_DEBUG}) - list(APPEND APEXSDK_LIBRARIES debug ${x}) - endforeach() -endif() diff --git a/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake b/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake old mode 100644 new mode 100755 index cea6142..57f8be3 --- a/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake +++ b/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake @@ -1,23 +1,24 @@ -# - Try to find tinyObjLoader -# Once done this will define -# BOOSTMULTIPRECISION_FOUND - System has tinyObjLoader -# BOOSTMULTIPRECISION_INCLUDE_DIRS - The tinyObjLoader include directories - -INCLUDE(FindPackageHandleStandardArgs) - -#TODO: Proper version support -FIND_PATH( BOOSTMULTIPRECISION_PATH boost/multiprecision - PATHS - $ENV{PM_BoostMultiprecision_PATH} - ${GW_DEPS_ROOT}/BoostMultiprecision/${BoostMultiprecision_FIND_VERSION} - ) - -MESSAGE("Boost Multiprecision Loader: " ${BOOSTMULTIPRECISION_PATH}) - -SET(BOOSTMULTIPRECISION_INCLUDE_DIRS - ${BOOSTMULTIPRECISION_PATH} -) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(BoostMultiprecision DEFAULT_MSG BOOSTMULTIPRECISION_INCLUDE_DIRS) - +# - Try to find tinyObjLoader +# Once done this will define +# BOOSTMULTIPRECISION_FOUND - System has tinyObjLoader +# BOOSTMULTIPRECISION_INCLUDE_DIRS - The tinyObjLoader include directories + +INCLUDE(FindPackageHandleStandardArgs) + +#TODO: Proper version support +FIND_PATH( BOOSTMULTIPRECISION_PATH boost/multiprecision + PATHS + $ENV{PM_BoostMultiprecision_PATH} + ${GW_DEPS_ROOT}/BoostMultiprecision/${BoostMultiprecision_FIND_VERSION} + NO_DEFAULT_PATH + ) + +MESSAGE("Boost Multiprecision Loader: " ${BOOSTMULTIPRECISION_PATH}) + +SET(BOOSTMULTIPRECISION_INCLUDE_DIRS + ${BOOSTMULTIPRECISION_PATH} +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(BoostMultiprecision DEFAULT_MSG BOOSTMULTIPRECISION_INCLUDE_DIRS) + mark_as_advanced(BOOSTMULTIPRECISION_INCLUDE_DIRS) \ No newline at end of file diff --git a/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake b/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake old mode 100644 new mode 100755 index 1813e87..19b9f9c --- a/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake +++ b/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake @@ -1,139 +1,139 @@ -# - Try to find CapnProto SDK -# - Sets CAPNPROTOSDK_LIBRARIES - list of the libraries found -# - Sets CAPNPROTOSDK_SOURCE_FILES -# - Sets CAPNPROTOSDK_INCLUDE_DIRS - -include(FindPackageHandleStandardArgs) - -# Find the includes - -# TODO: Do the version stuff properly! -find_path(CAPNPROTOSDK_PATH src/capnp/message.h - PATHS - $ENV{PM_CapnProto_PATH} - ${GW_DEPS_ROOT}/$ENV{PM_CapnProto_NAME}/${CapnProtoSDK_FIND_VERSION} -) - -if (TARGET_BUILD_PLATFORM STREQUAL "Windows") - - if (STATIC_WINCRT) - SET(CAPNPROTOSDK_CRT_SUFFIX "-mt") - else() - SET(CAPNPROTOSDK_CRT_SUFFIX "-md") - endif() - - - # If the project pulling in this dependency needs the static crt, then append that to the path. - if (CMAKE_CL_64) - SET(CAPNPROTOSDK_ARCH_FOLDER "win64") - else() - SET(CAPNPROTOSDK_ARCH_FOLDER "win32") - endif() - - SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/${CAPNPROTOSDK_ARCH_FOLDER}) - SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) - - -elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") - SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ps4) - SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") - SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/xboxone) - SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") - SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ubuntu64) - if (UE4_LINUX_CROSSCOMPILE) - SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) - else() - SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/ubuntu64) - endif() - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -endif() - -find_library(CAPNPROTO_LIB - NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/Release -) -find_library(CAPNPROTO_LIB_DEBUG - NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/Debug -) - -find_library(KJ_LIB - NAMES kj${CAPNPROTOSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/Release -) -find_library(KJ_LIB_DEBUG - NAMES kj${CAPNPROTOSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/Debug -) - -find_program(CAPNP_EXECUTABLE - NAMES capnp - DOC "Cap'n Proto Command-line Tool" - PATHS ${EXE_PATH} -) - -find_program(CAPNPC_CXX_EXECUTABLE - NAMES capnpc-c++ - DOC "Capn'n Proto C++ Compiler" - PATHS ${EXE_PATH} -) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CAPNPROTOSDK - DEFAULT_MSG - CAPNPROTOSDK_PATH - - CAPNP_EXECUTABLE - CAPNPC_CXX_EXECUTABLE - - #CAPNPROTO_LIB - #KJ_LIB - - #CAPNPROTO_LIB_DEBUG - #KJ_LIB_DEBUG -) - -if (CAPNPROTOSDK_FOUND) - - SET(CAPNPROTOSDK_INCLUDE_DIRS - ${CAPNPROTOSDK_PATH}/src/ - ) - - SET(CAPNP_INCLUDE_DIRS - ${CAPNPROTOSDK_INCLUDE_DIRS} - ) - - SET(CAPNPROTOSDK_LIBRARIES "" CACHE STRING "") - SET(CAPNPROTOSDK_SOURCE_FILES "") - - IF ((TARGET_BUILD_PLATFORM STREQUAL "PLATFROM_USING_PREBUILT_LIBS")) - LIST(APPEND CAPNPROTOSDK_LIBRARIES - optimized ${CAPNPROTO_LIB} debug ${CAPNPROTO_LIB_DEBUG} - optimized ${KJ_LIB} debug ${KJ_LIB_DEBUG} - ) - ELSE() - #Include source files for the "lite" version only, there aren't too many it avoids needing many permutations of static libs - LIST(APPEND CAPNPROTOSDK_SOURCE_FILES - ${CAPNPROTOSDK_PATH}/src/capnp/arena.c++ - ${CAPNPROTOSDK_PATH}/src/capnp/blob.c++ - ${CAPNPROTOSDK_PATH}/src/capnp/layout.c++ - ${CAPNPROTOSDK_PATH}/src/capnp/message.c++ - ${CAPNPROTOSDK_PATH}/src/capnp/serialize.c++ - - ${CAPNPROTOSDK_PATH}/src/kj/array.c++ - ${CAPNPROTOSDK_PATH}/src/kj/common.c++ - ${CAPNPROTOSDK_PATH}/src/kj/debug.c++ - ${CAPNPROTOSDK_PATH}/src/kj/exception.c++ - ${CAPNPROTOSDK_PATH}/src/kj/io.c++ - ${CAPNPROTOSDK_PATH}/src/kj/mutex.c++ - ${CAPNPROTOSDK_PATH}/src/kj/string.c++ - ${CAPNPROTOSDK_PATH}/src/kj/units.c++ - ) - ENDIF() -endif() +# - Try to find CapnProto SDK +# - Sets CAPNPROTOSDK_LIBRARIES - list of the libraries found +# - Sets CAPNPROTOSDK_SOURCE_FILES +# - Sets CAPNPROTOSDK_INCLUDE_DIRS + +include(FindPackageHandleStandardArgs) + +# Find the includes + +# TODO: Do the version stuff properly! +find_path(CAPNPROTOSDK_PATH src/capnp/message.h + PATHS + $ENV{PM_CapnProto_PATH} + ${GW_DEPS_ROOT}/$ENV{PM_CapnProto_NAME}/${CapnProtoSDK_FIND_VERSION} +) + +if (TARGET_BUILD_PLATFORM STREQUAL "Windows") + + if (STATIC_WINCRT) + SET(CAPNPROTOSDK_CRT_SUFFIX "-mt") + else() + SET(CAPNPROTOSDK_CRT_SUFFIX "-md") + endif() + + + # If the project pulling in this dependency needs the static crt, then append that to the path. + if (CMAKE_CL_64) + SET(CAPNPROTOSDK_ARCH_FOLDER "win64") + else() + SET(CAPNPROTOSDK_ARCH_FOLDER "win32") + endif() + + SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/${CAPNPROTOSDK_ARCH_FOLDER}) + SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) + + +elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") + SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ps4) + SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") + SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/xboxone) + SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") + SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ubuntu64) + if (UE4_LINUX_CROSSCOMPILE) + SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32) + else() + SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/ubuntu64) + endif() + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +endif() + +find_library(CAPNPROTO_LIB + NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/Release +) +find_library(CAPNPROTO_LIB_DEBUG + NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/Debug +) + +find_library(KJ_LIB + NAMES kj${CAPNPROTOSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/Release +) +find_library(KJ_LIB_DEBUG + NAMES kj${CAPNPROTOSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/Debug +) + +find_program(CAPNP_EXECUTABLE + NAMES capnp + DOC "Cap'n Proto Command-line Tool" + PATHS ${EXE_PATH} +) + +find_program(CAPNPC_CXX_EXECUTABLE + NAMES capnpc-c++ + DOC "Capn'n Proto C++ Compiler" + PATHS ${EXE_PATH} +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(CAPNPROTOSDK + DEFAULT_MSG + CAPNPROTOSDK_PATH + + CAPNP_EXECUTABLE + CAPNPC_CXX_EXECUTABLE + + #CAPNPROTO_LIB + #KJ_LIB + + #CAPNPROTO_LIB_DEBUG + #KJ_LIB_DEBUG +) + +if (CAPNPROTOSDK_FOUND) + + SET(CAPNPROTOSDK_INCLUDE_DIRS + ${CAPNPROTOSDK_PATH}/src/ + ) + + SET(CAPNP_INCLUDE_DIRS + ${CAPNPROTOSDK_INCLUDE_DIRS} + ) + + SET(CAPNPROTOSDK_LIBRARIES "" CACHE STRING "") + SET(CAPNPROTOSDK_SOURCE_FILES "") + + IF ((TARGET_BUILD_PLATFORM STREQUAL "PLATFROM_USING_PREBUILT_LIBS")) + LIST(APPEND CAPNPROTOSDK_LIBRARIES + optimized ${CAPNPROTO_LIB} debug ${CAPNPROTO_LIB_DEBUG} + optimized ${KJ_LIB} debug ${KJ_LIB_DEBUG} + ) + ELSE() + #Include source files for the "lite" version only, there aren't too many it avoids needing many permutations of static libs + LIST(APPEND CAPNPROTOSDK_SOURCE_FILES + ${CAPNPROTOSDK_PATH}/src/capnp/arena.c++ + ${CAPNPROTOSDK_PATH}/src/capnp/blob.c++ + ${CAPNPROTOSDK_PATH}/src/capnp/layout.c++ + ${CAPNPROTOSDK_PATH}/src/capnp/message.c++ + ${CAPNPROTOSDK_PATH}/src/capnp/serialize.c++ + + ${CAPNPROTOSDK_PATH}/src/kj/array.c++ + ${CAPNPROTOSDK_PATH}/src/kj/common.c++ + ${CAPNPROTOSDK_PATH}/src/kj/debug.c++ + ${CAPNPROTOSDK_PATH}/src/kj/exception.c++ + ${CAPNPROTOSDK_PATH}/src/kj/io.c++ + ${CAPNPROTOSDK_PATH}/src/kj/mutex.c++ + ${CAPNPROTOSDK_PATH}/src/kj/string.c++ + ${CAPNPROTOSDK_PATH}/src/kj/units.c++ + ) + ENDIF() +endif() diff --git a/sdk/compiler/cmake/modules/FindFBXSDK.cmake b/sdk/compiler/cmake/modules/FindFBXSDK.cmake old mode 100644 new mode 100755 index 5b6b0a4..b333fbf --- a/sdk/compiler/cmake/modules/FindFBXSDK.cmake +++ b/sdk/compiler/cmake/modules/FindFBXSDK.cmake @@ -1,73 +1,73 @@ -# - Try to find FBX SDK -# - Sets FBXSDK_LIBRARIES - list of the libraries found -# - Sets FBXSDK_INCLUDE_DIRS -# - Sets FBXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this - - -include(FindPackageHandleStandardArgs) - -# Find the includes - -# TODO: Do the version stuff properly! -find_path(FBXSDK_PATH include/fbxsdk.h - PATHS - $ENV{PM_FBXSDK_PATH} - ${GW_DEPS_ROOT}/FBXSDK/${FBXSDK_FIND_VERSION} -) - -if (STATIC_WINCRT) - SET(FBXSDK_CRT_SUFFIX "mt") -else() - SET(FBXSDK_CRT_SUFFIX "md") -endif() - - -# If the project pulling in this dependency needs the static crt, then append that to the path. -if (CMAKE_CL_64) - SET(FBXSDK_ARCH_FOLDER "x64") -else() - SET(FBXSDK_ARCH_FOLDER "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 FBXSDK - Only supporting VS2013 and VS2015") -endif() - -# Now find all of the PhysX libs in the lib directory - -SET(LIB_PATH ${FBXSDK_PATH}/lib/${VS_STR}/${FBXSDK_ARCH_FOLDER}) - -find_library(FBX_LIB - NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/release -) -find_library(FBX_LIB_DEBUG - NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX} - PATHS ${LIB_PATH}/debug -) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(FBXSDK - DEFAULT_MSG - FBXSDK_PATH - FBX_LIB - - FBX_LIB_DEBUG -) - -if (FBXSDK_FOUND) - - SET(FBXSDK_INCLUDE_DIRS - ${FBXSDK_PATH}/include - ${FBXSDK_PATH}/include/fbxsdk - ) - - SET(FBXSDK_LIBRARIES "" CACHE STRING "") - - LIST(APPEND FBXSDK_LIBRARIES optimized ${FBX_LIB} debug ${FBX_LIB_DEBUG}) -endif() +# - Try to find FBX SDK +# - Sets FBXSDK_LIBRARIES - list of the libraries found +# - Sets FBXSDK_INCLUDE_DIRS +# - Sets FBXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this + + +include(FindPackageHandleStandardArgs) + +# Find the includes + +# TODO: Do the version stuff properly! +find_path(FBXSDK_PATH include/fbxsdk.h + PATHS + $ENV{PM_FBXSDK_PATH} + ${GW_DEPS_ROOT}/FBXSDK/${FBXSDK_FIND_VERSION} +) + +if (STATIC_WINCRT) + SET(FBXSDK_CRT_SUFFIX "mt") +else() + SET(FBXSDK_CRT_SUFFIX "md") +endif() + + +# If the project pulling in this dependency needs the static crt, then append that to the path. +if (CMAKE_CL_64) + SET(FBXSDK_ARCH_FOLDER "x64") +else() + SET(FBXSDK_ARCH_FOLDER "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 FBXSDK - Only supporting VS2013 and VS2015") +endif() + +# Now find all of the PhysX libs in the lib directory + +SET(LIB_PATH ${FBXSDK_PATH}/lib/${VS_STR}/${FBXSDK_ARCH_FOLDER}) + +find_library(FBX_LIB + NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/release +) +find_library(FBX_LIB_DEBUG + NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX} + PATHS ${LIB_PATH}/debug +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(FBXSDK + DEFAULT_MSG + FBXSDK_PATH + FBX_LIB + + FBX_LIB_DEBUG +) + +if (FBXSDK_FOUND) + + SET(FBXSDK_INCLUDE_DIRS + ${FBXSDK_PATH}/include + ${FBXSDK_PATH}/include/fbxsdk + ) + + SET(FBXSDK_LIBRARIES "" CACHE STRING "") + + LIST(APPEND FBXSDK_LIBRARIES optimized ${FBX_LIB} debug ${FBX_LIB_DEBUG}) +endif() diff --git a/sdk/compiler/cmake/modules/FindGoogleTestNV.cmake b/sdk/compiler/cmake/modules/FindGoogleTestNV.cmake old mode 100644 new mode 100755 index 7f2dde4..2634f1a --- a/sdk/compiler/cmake/modules/FindGoogleTestNV.cmake +++ b/sdk/compiler/cmake/modules/FindGoogleTestNV.cmake @@ -1,133 +1,133 @@ -# - Try to find GoogleTest SDK -# - Sets GOOGLETEST_LIBRARIES - lists of the libraries found -# - Sets GOOGLETEST_INCLUDE_DIRS - -include(FindPackageHandleStandardArgs) - -# Find the includes - -# TODO: Do the version stuff properly! -find_path(GOOGLETEST_PATH include/gtest/gtest.h - PATHS - $ENV{PM_googletest_PATH} - ${GW_DEPS_ROOT}/$ENV{PM_googletest_NAME}/${GoogleTestNV_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(GOOGLETEST_CRT_SUFFIX "-staticcrt") - else() - SET(GOOGLETEST_CRT_SUFFIX "") - endif() - - if (CMAKE_CL_64) - SET(GOOGLETEST_ARCH_FOLDER "win64") - else() - SET(GOOGLETEST_ARCH_FOLDER "win32") - endif() - - 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 "vc12") - elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0) - SET(VS_STR "vc14") - else() - MESSAGE(FATAL_ERROR "Failed to find compatible FBXSDK - Only supporting VS2013 and VS2015") - endif() - - - # Now find all of the PhysX libs in the lib directory - - SET(LIB_PATH ${GOOGLETEST_PATH}/lib/${VS_STR}${GOOGLETEST_ARCH_FOLDER}-cmake${GOOGLETEST_CRT_SUFFIX}) - -elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") - SET(LIB_PATH ${GOOGLETEST_PATH}/lib/PS4) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") - SET(LIB_PATH ${GOOGLETEST_PATH}/lib/xboxone-${XDK_VERSION}) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0) - SET(LIB_PATH ${GOOGLETEST_PATH}/lib/gcc-5.4) - else() - SET(LIB_PATH ${GOOGLETEST_PATH}/lib/gcc-4.8) - endif() - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") -endif() - -MESSAGE("GTEst libpath:" ${LIB_PATH}) - -if(TARGET_BUILD_PLATFORM STREQUAL "linux") - find_library(GTEST_LIB - NAMES gtest - PATHS ${LIB_PATH} - ) - - find_library(GTEST_MAIN_LIB - NAMES gtest_main - PATHS ${LIB_PATH} - ) - - SET(GTEST_LIB_DEBUG ${GTEST_LIB}) - SET(GTEST_MAIN_LIB_DEBUG ${GTEST_MAIN_LIB}) -else() - find_library(GTEST_LIB - NAMES gtest - PATHS ${LIB_PATH}/Release - ) - - find_library(GTEST_LIB_DEBUG - NAMES gtest - PATHS ${LIB_PATH}/Debug - ) - - find_library(GTEST_MAIN_LIB - NAMES gtest_main - PATHS ${LIB_PATH}/Release - ) - - find_library(GTEST_MAIN_LIB_DEBUG - NAMES gtest_main - PATHS ${LIB_PATH}/Debug - ) -endif() - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GOOGLETEST - DEFAULT_MSG - GOOGLETEST_PATH - - GTEST_LIB - GTEST_MAIN_LIB - GTEST_LIB_DEBUG - GTEST_MAIN_LIB_DEBUG -) - -if (GOOGLETEST_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(GOOGLETEST_INCLUDE_DIRS - ${GOOGLETEST_PATH}/include - ${GOOGLETEST_PATH}/include/gtest - ) - - SET(GOOGLETEST_LIBS_RELEASE ${GTEST_LIB} ${GTEST_MAIN_LIB} - CACHE STRING "" - ) - SET(GOOGLETEST_LIBS_DEBUG ${GTEST_LIB_DEBUG} ${GTEST_MAIN_LIB_DEBUG} - CACHE STRING "" - ) - - SET(GOOGLETEST_LIBRARIES "" CACHE STRING "") - - foreach(x ${GOOGLETEST_LIBS_RELEASE}) - list(APPEND GOOGLETEST_LIBRARIES optimized ${x}) - endforeach() - - foreach(x ${GOOGLETEST_LIBS_DEBUG}) - list(APPEND GOOGLETEST_LIBRARIES debug ${x}) - endforeach() -endif() +# - Try to find GoogleTest SDK +# - Sets GOOGLETEST_LIBRARIES - lists of the libraries found +# - Sets GOOGLETEST_INCLUDE_DIRS + +include(FindPackageHandleStandardArgs) + +# Find the includes + +# TODO: Do the version stuff properly! +find_path(GOOGLETEST_PATH include/gtest/gtest.h + PATHS + $ENV{PM_googletest_PATH} + ${GW_DEPS_ROOT}/$ENV{PM_googletest_NAME}/${GoogleTestNV_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(GOOGLETEST_CRT_SUFFIX "-staticcrt") + else() + SET(GOOGLETEST_CRT_SUFFIX "") + endif() + + if (CMAKE_CL_64) + SET(GOOGLETEST_ARCH_FOLDER "win64") + else() + SET(GOOGLETEST_ARCH_FOLDER "win32") + endif() + + 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 "vc12") + elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0) + SET(VS_STR "vc14") + else() + MESSAGE(FATAL_ERROR "Failed to find compatible FBXSDK - Only supporting VS2013 and VS2015") + endif() + + + # Now find all of the PhysX libs in the lib directory + + SET(LIB_PATH ${GOOGLETEST_PATH}/lib/${VS_STR}${GOOGLETEST_ARCH_FOLDER}-cmake${GOOGLETEST_CRT_SUFFIX}) + +elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4") + SET(LIB_PATH ${GOOGLETEST_PATH}/lib/PS4) + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne") + SET(LIB_PATH ${GOOGLETEST_PATH}/lib/xboxone-${XDK_VERSION}) + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +elseif(TARGET_BUILD_PLATFORM STREQUAL "linux") + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0) + SET(LIB_PATH ${GOOGLETEST_PATH}/lib/gcc-5.4) + else() + SET(LIB_PATH ${GOOGLETEST_PATH}/lib/gcc-4.8) + endif() + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + SET(CMAKE_FIND_LIBRARY_PREFIXES "lib") +endif() + +MESSAGE("GTEst libpath:" ${LIB_PATH}) + +if(TARGET_BUILD_PLATFORM STREQUAL "linux") + find_library(GTEST_LIB + NAMES gtest + PATHS ${LIB_PATH} + ) + + find_library(GTEST_MAIN_LIB + NAMES gtest_main + PATHS ${LIB_PATH} + ) + + SET(GTEST_LIB_DEBUG ${GTEST_LIB}) + SET(GTEST_MAIN_LIB_DEBUG ${GTEST_MAIN_LIB}) +else() + find_library(GTEST_LIB + NAMES gtest + PATHS ${LIB_PATH}/Release + ) + + find_library(GTEST_LIB_DEBUG + NAMES gtest + PATHS ${LIB_PATH}/Debug + ) + + find_library(GTEST_MAIN_LIB + NAMES gtest_main + PATHS ${LIB_PATH}/Release + ) + + find_library(GTEST_MAIN_LIB_DEBUG + NAMES gtest_main + PATHS ${LIB_PATH}/Debug + ) +endif() + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GOOGLETEST + DEFAULT_MSG + GOOGLETEST_PATH + + GTEST_LIB + GTEST_MAIN_LIB + GTEST_LIB_DEBUG + GTEST_MAIN_LIB_DEBUG +) + +if (GOOGLETEST_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(GOOGLETEST_INCLUDE_DIRS + ${GOOGLETEST_PATH}/include + ${GOOGLETEST_PATH}/include/gtest + ) + + SET(GOOGLETEST_LIBS_RELEASE ${GTEST_LIB} ${GTEST_MAIN_LIB} + CACHE STRING "" + ) + SET(GOOGLETEST_LIBS_DEBUG ${GTEST_LIB_DEBUG} ${GTEST_MAIN_LIB_DEBUG} + CACHE STRING "" + ) + + SET(GOOGLETEST_LIBRARIES "" CACHE STRING "") + + foreach(x ${GOOGLETEST_LIBS_RELEASE}) + list(APPEND GOOGLETEST_LIBRARIES optimized ${x}) + endforeach() + + foreach(x ${GOOGLETEST_LIBS_DEBUG}) + list(APPEND GOOGLETEST_LIBRARIES debug ${x}) + endforeach() +endif() diff --git a/sdk/compiler/cmake/modules/FindPhysXSDK.cmake b/sdk/compiler/cmake/modules/FindPhysXSDK.cmake old mode 100644 new mode 100755 index fa3ddb1..7e1f0a9 --- 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() diff --git a/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake b/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake old mode 100644 new mode 100755 index da540ec..c3a5da1 --- a/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake +++ b/sdk/compiler/cmake/modules/FindPxSharedSDK.cmake @@ -1,313 +1,315 @@ -# - Try to find PxShared binary SDK -# - Sets PXSHAREDSDK_LIBS_DEBUG and PXSHAREDSDK_LIBS_RELEASE - lists of the libraries found -# - 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} -) - -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) - SET(VS_STR "VS2015") - 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/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() +# - Try to find PxShared binary SDK +# - Sets PXSHAREDSDK_LIBS_DEBUG and PXSHAREDSDK_LIBS_RELEASE - lists of the libraries found +# - 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} +) + +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/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() diff --git a/sdk/compiler/cmake/modules/FindXDK.cmake b/sdk/compiler/cmake/modules/FindXDK.cmake old mode 100644 new mode 100755 index 601dd8f..5945096 --- a/sdk/compiler/cmake/modules/FindXDK.cmake +++ b/sdk/compiler/cmake/modules/FindXDK.cmake @@ -1,257 +1,257 @@ -# - Try to find XDLK -# - Sets XDK_LIBRARIES - list of the libraries found -# - Sets XDK_INCLUDE_DIRS - -include(FindPackageHandleStandardArgs) - -# Find the includes - -# TODO: Do the version stuff properly! -# TODO: Handle a binary dep version of the XDK -find_path(XDK_PATH include/winrt/Windows.Xbox.UI.h - PATHS - $ENV{XboxOneXDKLatest}/xdk -) - -SET(LIB_PATH ${XDK_PATH}/Lib/amd64/) -SET(CMAKE_FIND_LIBRARY_PREFIXES "") -SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") - -MESSAGE("XDK LIB PATH: ${LIB_PATH}") - -find_library(ACPHAL_LIB - NAMES acphal - PATHS ${LIB_PATH} -) - -find_library(APPMODEL_LIB - NAMES appmodel - PATHS ${LIB_PATH} -) - -find_library(BCRYPT_LIB - NAMES bcrypt - PATHS ${LIB_PATH} -) - -find_library(COMBASE_LIB - NAMES combase - PATHS ${LIB_PATH} -) - -find_library(CONSOLEID_LIB - NAMES consoleid - PATHS ${LIB_PATH} -) - -find_library(D3D11_X_LIB - NAMES d3d11_x - PATHS ${LIB_PATH} -) - -find_library(D3D12_X_LIB - NAMES d3d12_x - PATHS ${LIB_PATH} -) - -find_library(D3DCOMPILER_LIB - NAMES d3dcompiler - PATHS ${LIB_PATH} -) - -find_library(DXGUID_LIB - NAMES dxguid - PATHS ${LIB_PATH} -) - -find_library(ETWPLUS_LIB - NAMES etwplus - PATHS ${LIB_PATH} -) - -find_library(IXMLHTTPREQUEST2_LIB - NAMES ixmlhttprequest2 - PATHS ${LIB_PATH} -) - -find_library(KERNELX_LIB - NAMES kernelx - PATHS ${LIB_PATH} -) - -find_library(KSTUDIOCLIENT_LIB - NAMES kstudioclient - PATHS ${LIB_PATH} -) - -find_library(MFPLAT_LIB - NAMES mfplat - PATHS ${LIB_PATH} -) - -find_library(MFREADWRITE_LIB - NAMES mfreadwrite - PATHS ${LIB_PATH} -) - -find_library(MFUUID_LIB - NAMES mfuuid - PATHS ${LIB_PATH} -) - -find_library(MMDEVAPI_LIB - NAMES mmdevapi - PATHS ${LIB_PATH} -) - -find_library(PIXEVT_LIB - NAMES PIXEvt - PATHS ${LIB_PATH} -) - -find_library(RPCRT4_LIB - NAMES rpcrt4 - PATHS ${LIB_PATH} -) - -find_library(SMARTGLASSINTEROP_LIB - NAMES smartglassinterop - PATHS ${LIB_PATH} -) - -find_library(STRMIIDS_LIB - NAMES strmiids - PATHS ${LIB_PATH} -) - -find_library(TOOLHELPX_LIB - NAMES toolhelpx - PATHS ${LIB_PATH} -) - -find_library(UUID_LIB - NAMES uuid - PATHS ${LIB_PATH} -) - -find_library(WINDOWSCODECS_LIB - NAMES windowscodecs - PATHS ${LIB_PATH} -) - -find_library(WMCODECDSPUUID_LIB - NAMES wmcodecdspuuid - PATHS ${LIB_PATH} -) - -find_library(WS2_32_LIB - NAMES ws2_32 - PATHS ${LIB_PATH} -) - -find_library(XAPOBASE_LIB - NAMES xapobase - PATHS ${LIB_PATH} -) - -find_library(XAUDIO2_LIB - NAMES xaudio2 - PATHS ${LIB_PATH} -) - -find_library(XG_X_LIB - NAMES xg_x - PATHS ${LIB_PATH} -) - -find_library(XI_LIB - NAMES xi - PATHS ${LIB_PATH} -) - -find_library(XSTUDIOCLIENT_LIB - NAMES xstudioclient - PATHS ${LIB_PATH} -) - - - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(XDK - DEFAULT_MSG - XDK_PATH - - ACPHAL_LIB - APPMODEL_LIB - BCRYPT_LIB - COMBASE_LIB - CONSOLEID_LIB - D3D11_X_LIB - D3D12_X_LIB - D3DCOMPILER_LIB - DXGUID_LIB - ETWPLUS_LIB - IXMLHTTPREQUEST2_LIB - KERNELX_LIB - KSTUDIOCLIENT_LIB - MFPLAT_LIB - MFREADWRITE_LIB - MFUUID_LIB - MMDEVAPI_LIB - PIXEVT_LIB - RPCRT4_LIB - SMARTGLASSINTEROP_LIB - STRMIIDS_LIB - TOOLHELPX_LIB - UUID_LIB - WINDOWSCODECS_LIB - WMCODECDSPUUID_LIB - WS2_32_LIB - XAPOBASE_LIB - XAUDIO2_LIB - XG_X_LIB - XI_LIB - XSTUDIOCLIENT_LIB -) - -if (XDK_FOUND) - SET(XDK_INCLUDE_DIRS - ${XDK_PATH}/Include - ${XDK_PATH}/Include/shared - ${XDK_PATH}/Include/um - ${XDK_PATH}/Include/winrt - ) - - SET(XDK_LIBRARIES - ${ACPHAL_LIB} - ${APPMODEL_LIB} - ${BCRYPT_LIB} - ${COMBASE_LIB} - ${CONSOLEID_LIB} - ${D3D11_X_LIB} - ${D3D12_X_LIB} - ${D3DCOMPILER_LIB} - ${DXGUID_LIB} - ${ETWPLUS_LIB} - ${IXMLHTTPREQUEST2_LIB} - ${KERNELX_LIB} - ${KSTUDIOCLIENT_LIB} - ${MFPLAT_LIB} - ${MFREADWRITE_LIB} - ${MFUUID_LIB} - ${MMDEVAPI_LIB} - ${PIXEVT_LIB} - ${RPCRT4_LIB} - ${SMARTGLASSINTEROP_LIB} - ${STRMIIDS_LIB} - ${TOOLHELPX_LIB} - ${UUID_LIB} - ${WINDOWSCODECS_LIB} - ${WMCODECDSPUUID_LIB} - ${WS2_32_LIB} - ${XAPOBASE_LIB} - ${XAUDIO2_LIB} - ${XG_X_LIB} - ${XI_LIB} - ${XSTUDIOCLIENT_LIB} - ) -endif() +# - Try to find XDLK +# - Sets XDK_LIBRARIES - list of the libraries found +# - Sets XDK_INCLUDE_DIRS + +include(FindPackageHandleStandardArgs) + +# Find the includes + +# TODO: Do the version stuff properly! +# TODO: Handle a binary dep version of the XDK +find_path(XDK_PATH include/winrt/Windows.Xbox.UI.h + PATHS + $ENV{XboxOneXDKLatest}/xdk +) + +SET(LIB_PATH ${XDK_PATH}/Lib/amd64/) +SET(CMAKE_FIND_LIBRARY_PREFIXES "") +SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") + +MESSAGE("XDK LIB PATH: ${LIB_PATH}") + +find_library(ACPHAL_LIB + NAMES acphal + PATHS ${LIB_PATH} +) + +find_library(APPMODEL_LIB + NAMES appmodel + PATHS ${LIB_PATH} +) + +find_library(BCRYPT_LIB + NAMES bcrypt + PATHS ${LIB_PATH} +) + +find_library(COMBASE_LIB + NAMES combase + PATHS ${LIB_PATH} +) + +find_library(CONSOLEID_LIB + NAMES consoleid + PATHS ${LIB_PATH} +) + +find_library(D3D11_X_LIB + NAMES d3d11_x + PATHS ${LIB_PATH} +) + +find_library(D3D12_X_LIB + NAMES d3d12_x + PATHS ${LIB_PATH} +) + +find_library(D3DCOMPILER_LIB + NAMES d3dcompiler + PATHS ${LIB_PATH} +) + +find_library(DXGUID_LIB + NAMES dxguid + PATHS ${LIB_PATH} +) + +find_library(ETWPLUS_LIB + NAMES etwplus + PATHS ${LIB_PATH} +) + +find_library(IXMLHTTPREQUEST2_LIB + NAMES ixmlhttprequest2 + PATHS ${LIB_PATH} +) + +find_library(KERNELX_LIB + NAMES kernelx + PATHS ${LIB_PATH} +) + +find_library(KSTUDIOCLIENT_LIB + NAMES kstudioclient + PATHS ${LIB_PATH} +) + +find_library(MFPLAT_LIB + NAMES mfplat + PATHS ${LIB_PATH} +) + +find_library(MFREADWRITE_LIB + NAMES mfreadwrite + PATHS ${LIB_PATH} +) + +find_library(MFUUID_LIB + NAMES mfuuid + PATHS ${LIB_PATH} +) + +find_library(MMDEVAPI_LIB + NAMES mmdevapi + PATHS ${LIB_PATH} +) + +find_library(PIXEVT_LIB + NAMES PIXEvt + PATHS ${LIB_PATH} +) + +find_library(RPCRT4_LIB + NAMES rpcrt4 + PATHS ${LIB_PATH} +) + +find_library(SMARTGLASSINTEROP_LIB + NAMES smartglassinterop + PATHS ${LIB_PATH} +) + +find_library(STRMIIDS_LIB + NAMES strmiids + PATHS ${LIB_PATH} +) + +find_library(TOOLHELPX_LIB + NAMES toolhelpx + PATHS ${LIB_PATH} +) + +find_library(UUID_LIB + NAMES uuid + PATHS ${LIB_PATH} +) + +find_library(WINDOWSCODECS_LIB + NAMES windowscodecs + PATHS ${LIB_PATH} +) + +find_library(WMCODECDSPUUID_LIB + NAMES wmcodecdspuuid + PATHS ${LIB_PATH} +) + +find_library(WS2_32_LIB + NAMES ws2_32 + PATHS ${LIB_PATH} +) + +find_library(XAPOBASE_LIB + NAMES xapobase + PATHS ${LIB_PATH} +) + +find_library(XAUDIO2_LIB + NAMES xaudio2 + PATHS ${LIB_PATH} +) + +find_library(XG_X_LIB + NAMES xg_x + PATHS ${LIB_PATH} +) + +find_library(XI_LIB + NAMES xi + PATHS ${LIB_PATH} +) + +find_library(XSTUDIOCLIENT_LIB + NAMES xstudioclient + PATHS ${LIB_PATH} +) + + + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XDK + DEFAULT_MSG + XDK_PATH + + ACPHAL_LIB + APPMODEL_LIB + BCRYPT_LIB + COMBASE_LIB + CONSOLEID_LIB + D3D11_X_LIB + D3D12_X_LIB + D3DCOMPILER_LIB + DXGUID_LIB + ETWPLUS_LIB + IXMLHTTPREQUEST2_LIB + KERNELX_LIB + KSTUDIOCLIENT_LIB + MFPLAT_LIB + MFREADWRITE_LIB + MFUUID_LIB + MMDEVAPI_LIB + PIXEVT_LIB + RPCRT4_LIB + SMARTGLASSINTEROP_LIB + STRMIIDS_LIB + TOOLHELPX_LIB + UUID_LIB + WINDOWSCODECS_LIB + WMCODECDSPUUID_LIB + WS2_32_LIB + XAPOBASE_LIB + XAUDIO2_LIB + XG_X_LIB + XI_LIB + XSTUDIOCLIENT_LIB +) + +if (XDK_FOUND) + SET(XDK_INCLUDE_DIRS + ${XDK_PATH}/Include + ${XDK_PATH}/Include/shared + ${XDK_PATH}/Include/um + ${XDK_PATH}/Include/winrt + ) + + SET(XDK_LIBRARIES + ${ACPHAL_LIB} + ${APPMODEL_LIB} + ${BCRYPT_LIB} + ${COMBASE_LIB} + ${CONSOLEID_LIB} + ${D3D11_X_LIB} + ${D3D12_X_LIB} + ${D3DCOMPILER_LIB} + ${DXGUID_LIB} + ${ETWPLUS_LIB} + ${IXMLHTTPREQUEST2_LIB} + ${KERNELX_LIB} + ${KSTUDIOCLIENT_LIB} + ${MFPLAT_LIB} + ${MFREADWRITE_LIB} + ${MFUUID_LIB} + ${MMDEVAPI_LIB} + ${PIXEVT_LIB} + ${RPCRT4_LIB} + ${SMARTGLASSINTEROP_LIB} + ${STRMIIDS_LIB} + ${TOOLHELPX_LIB} + ${UUID_LIB} + ${WINDOWSCODECS_LIB} + ${WMCODECDSPUUID_LIB} + ${WS2_32_LIB} + ${XAPOBASE_LIB} + ${XAUDIO2_LIB} + ${XG_X_LIB} + ${XI_LIB} + ${XSTUDIOCLIENT_LIB} + ) +endif() -- cgit v1.2.3