|
@@ -52,12 +52,43 @@ set(extra_static_libs ${EXTRA_STATIC_LIBS_NON_MONOLITHIC})
|
|
|
set(extra_shared_libs ${EXTRA_SHARED_LIBS})
|
|
|
|
|
|
if(LY_MONOLITHIC_GAME)
|
|
|
- list(APPEND ${MY_NAME}_LIBRARIES
|
|
|
- ${PATH_TO_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}PhysX_static_64${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
|
- ${PATH_TO_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}PhysXCooking_static_64${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
|
- ${PATH_TO_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}PhysXFoundation_static_64${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
|
- ${PATH_TO_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}PhysXCommon_static_64${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
|
+ if(LY_PHYSX_PROFILE_USE_CHECKED_LIBS)
|
|
|
+ set(MONO_PATH_TO_STATIC_LIBS ${CMAKE_CURRENT_LIST_DIR}/PhysX/physx/bin/static/checked)
|
|
|
+ else()
|
|
|
+ set(MONO_PATH_TO_STATIC_LIBS ${CMAKE_CURRENT_LIST_DIR}/PhysX/physx/bin/static/profile)
|
|
|
+ endif()
|
|
|
+ # The order of PhysX 5.x static libraries is important for monolithic targets.
|
|
|
+ set(IMPORTED_PHYSICS_LIBS
|
|
|
+ PhysX_static_64
|
|
|
+ PhysXPvdSDK_static_64
|
|
|
+ PhysXVehicle_static_64
|
|
|
+ PhysXCharacterKinematic_static_64
|
|
|
+ PhysXExtensions_static_64
|
|
|
+ PhysXCooking_static_64
|
|
|
+ PhysXCommon_static_64
|
|
|
+ PhysXFoundation_static_64
|
|
|
+ )
|
|
|
+ foreach(PHYSICS_LIB ${IMPORTED_PHYSICS_LIBS})
|
|
|
+ add_library(${PHYSICS_LIB}::imported STATIC IMPORTED GLOBAL)
|
|
|
+ set(${PHYSICS_LIB}_PATH ${MONO_PATH_TO_STATIC_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${PHYSICS_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
|
|
+ set_target_properties(${PHYSICS_LIB}::imported
|
|
|
+ PROPERTIES
|
|
|
+ IMPORTED_LOCATION_DEBUG ${${PHYSICS_LIB}_PATH}
|
|
|
+ IMPORTED_LOCATION_PROFILE ${${PHYSICS_LIB}_PATH}
|
|
|
+ IMPORTED_LOCATION_RELEASE ${${PHYSICS_LIB}_PATH}
|
|
|
+ )
|
|
|
+ target_link_libraries(${PHYSICS_LIB}::imported INTERFACE
|
|
|
+ ${PREVIOUS_PHYSICS_LIB}
|
|
|
+ ${MONO_PATH_TO_STATIC_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${PHYSICS_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}
|
|
|
+ )
|
|
|
+ set (PREVIOUS_PHYSICS_LIB ${PHYSICS_LIB}::imported)
|
|
|
+ endforeach()
|
|
|
+
|
|
|
+ add_library(Physx5_STATIC_LIBS_FOR_MONOLITHIC::imported INTERFACE IMPORTED GLOBAL)
|
|
|
+ target_link_libraries(Physx5_STATIC_LIBS_FOR_MONOLITHIC::imported INTERFACE
|
|
|
+ PhysXFoundation_static_64::imported
|
|
|
)
|
|
|
+
|
|
|
if(extra_shared_libs)
|
|
|
set(${MY_NAME}_RUNTIME_DEPENDENCIES
|
|
|
${extra_shared_libs}
|
|
@@ -82,7 +113,11 @@ endif()
|
|
|
|
|
|
add_library(${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
|
|
|
ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_INCLUDE_DIR})
|
|
|
-target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_LIBRARIES})
|
|
|
+if(LY_MONOLITHIC_GAME)
|
|
|
+ target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE Physx5_STATIC_LIBS_FOR_MONOLITHIC::imported)
|
|
|
+else()
|
|
|
+ target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_LIBRARIES})
|
|
|
+endif()
|
|
|
target_compile_definitions(${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_COMPILE_DEFINITIONS})
|
|
|
if(DEFINED ${MY_NAME}_RUNTIME_DEPENDENCIES)
|
|
|
ly_add_target_files(TARGETS ${TARGET_WITH_NAMESPACE} FILES ${${MY_NAME}_RUNTIME_DEPENDENCIES})
|