diff --git a/ports/bullet3/cmake-config-export.diff b/ports/bullet3/cmake-config-export.diff new file mode 100644 index 00000000000000..f89fdd88fd17d5 --- /dev/null +++ b/ports/bullet3/cmake-config-export.diff @@ -0,0 +1,460 @@ +diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in +index f5dc7bd..2d18304 100644 +--- a/BulletConfig.cmake.in ++++ b/BulletConfig.cmake.in +@@ -14,12 +14,15 @@ + # BULLET_ROOT_DIR - The base directory of Bullet + # BULLET_VERSION_STRING - A human-readable string containing the version + ++@PACKAGE_INIT@ ++include("${CMAKE_CURRENT_LIST_DIR}/BulletTargets.cmake") ++ + set ( BULLET_FOUND 1 ) +-set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) ++set_and_check ( BULLET_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/UseBullet.cmake" ) + set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) +-set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) +-set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) ++set_and_check ( BULLET_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) + set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) +-set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) +-set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) ++set ( BULLET_LIBRARY_DIRS "" ) # subject to CMAKE_BUILD_TYPE ++set_and_check ( BULLET_ROOT_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@" ) + set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) +\ No newline at end of file +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a695b71..c3eb136 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -498,15 +498,25 @@ list (APPEND BULLET_LIBRARIES BulletCollision) + list (APPEND BULLET_LIBRARIES BulletDynamics) + list (APPEND BULLET_LIBRARIES BulletSoftBody) + set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) +-configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in +- ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake +- @ONLY ESCAPE_QUOTES +- ) ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ PATH_VARS INCLUDE_INSTALL_DIR LIB_DESTINATION CMAKE_INSTALL_PREFIX BULLET_CONFIG_CMAKE_PATH ++ INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} ++) ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake" ++ VERSION ${BULLET_VERSION} ++ COMPATIBILITY AnyNewerVersion ++) + OPTION(INSTALL_CMAKE_FILES "Install generated CMake files" ON) + + IF (INSTALL_CMAKE_FILES) ++ install(EXPORT BulletTargets DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) + install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} + ) + ENDIF (INSTALL_CMAKE_FILES) +diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt +index 6267219..b5603ab 100644 +--- a/Extras/BulletRobotics/CMakeLists.txt ++++ b/Extras/BulletRobotics/CMakeLists.txt +@@ -281,9 +281,7 @@ ADD_LIBRARY(BulletRobotics ${BulletRobotics_SRCS}) + SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletRobotics PUBLIC BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) + + + +@@ -294,6 +292,7 @@ INSTALL ( + + INSTALL(TARGETS + BulletRobotics ++ EXPORT BulletTargets + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) +diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt +index 132a336..4f636c6 100644 +--- a/Extras/ConvexDecomposition/CMakeLists.txt ++++ b/Extras/ConvexDecomposition/CMakeLists.txt +@@ -38,9 +38,7 @@ ADD_LIBRARY(ConvexDecomposition ${ConvexDecomposition_SRCS} ${ConvexDecompositio + SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(ConvexDecomposition PUBLIC BulletCollision LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -50,6 +48,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS ConvexDecomposition DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS ConvexDecomposition ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt +index 22e953a..7865951 100644 +--- a/Extras/InverseDynamics/CMakeLists.txt ++++ b/Extras/InverseDynamics/CMakeLists.txt +@@ -21,9 +21,7 @@ User2InternalIndex.cpp + SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils PUBLIC BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -33,6 +31,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletInverseDynamicsUtils DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletInverseDynamicsUtils ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt +index 9b5dce7..b9cd2b7 100644 +--- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt ++++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt +@@ -20,9 +20,7 @@ btBulletFile.h + + ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletFileLoader PUBLIC LinearMath) + + SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES SOVERSION ${BULLET_VERSION}) +@@ -35,6 +33,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletFileLoader DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletFileLoader ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +index b56b39a..6e23be5 100644 +--- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +@@ -15,9 +15,7 @@ btWorldImporter.h + SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletWorldImporter PUBLIC BulletDynamics BulletCollision BulletFileLoader LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -27,6 +25,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletWorldImporter DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletWorldImporter ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +index 9fd125e..4e16d9e 100644 +--- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +@@ -17,9 +17,7 @@ ADD_LIBRARY( + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) + +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletXmlWorldImporter PUBLIC BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) + + IF (INSTALL_EXTRA_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -29,6 +27,7 @@ IF (INSTALL_EXTRA_LIBS) + INSTALL(TARGETS BulletXmlWorldImporter DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletXmlWorldImporter ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt +index 130095c..1642284 100644 +--- a/src/Bullet3Collision/CMakeLists.txt ++++ b/src/Bullet3Collision/CMakeLists.txt +@@ -58,9 +58,7 @@ SET(Bullet3Collision_HDRS + ) + + ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Collision Bullet3Geometry) +-endif () ++target_link_libraries(Bullet3Collision PUBLIC Bullet3Geometry) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -72,6 +70,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Collision DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Collision ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt +index 03a3b40..6f631e6 100644 +--- a/src/Bullet3Common/CMakeLists.txt ++++ b/src/Bullet3Common/CMakeLists.txt +@@ -37,6 +37,7 @@ SET(Bullet3Common_HDRS + ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) ++TARGET_INCLUDE_DIRECTORIES(Bullet3Common INTERFACE $) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -46,6 +47,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Common DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Common ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt +index 94c120d..2736323 100644 +--- a/src/Bullet3Dynamics/CMakeLists.txt ++++ b/src/Bullet3Dynamics/CMakeLists.txt +@@ -30,9 +30,7 @@ SET(Bullet3Dynamics_HDRS + ) + + ADD_LIBRARY(Bullet3Dynamics ${Bullet3Dynamics_SRCS} ${Bullet3Dynamics_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Dynamics Bullet3Collision) +-endif () ++target_link_libraries(Bullet3Dynamics PUBLIC Bullet3Collision) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -44,6 +42,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Dynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Dynamics ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt +index 8206872..dfd622b 100644 +--- a/src/Bullet3Geometry/CMakeLists.txt ++++ b/src/Bullet3Geometry/CMakeLists.txt +@@ -16,9 +16,7 @@ SET(Bullet3Geometry_HDRS + ) + + ADD_LIBRARY(Bullet3Geometry ${Bullet3Geometry_SRCS} ${Bullet3Geometry_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet3Geometry Bullet3Common) +-endif() ++target_link_libraries(Bullet3Geometry PUBLIC Bullet3Common) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -30,6 +28,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet3Geometry DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Geometry ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt +index 1da58d4..b93b80b 100644 +--- a/src/Bullet3OpenCL/CMakeLists.txt ++++ b/src/Bullet3OpenCL/CMakeLists.txt +@@ -43,9 +43,7 @@ SET(Bullet3OpenCL_clew_HDRS + ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_HDRS}) + SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew PUBLIC LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) + + + IF (INSTALL_LIBS) +@@ -55,7 +53,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin ++ INSTALL(TARGETS Bullet3OpenCL_clew ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +index 1255766..e47ad6f 100644 +--- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt ++++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +@@ -24,9 +24,7 @@ SET(Bullet2FileLoader_HDRS + ) + + ADD_LIBRARY(Bullet2FileLoader ${Bullet2FileLoader_SRCS} ${Bullet2FileLoader_HDRS}) +-if (BUILD_SHARED_LIBS) +- target_link_libraries(Bullet2FileLoader Bullet3Common) +-endif () ++target_link_libraries(Bullet2FileLoader PUBLIC Bullet3Common) + SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES SOVERSION ${BULLET_VERSION}) + +@@ -38,6 +36,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS Bullet2FileLoader DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet2FileLoader ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) +diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt +index f5d7255..53dd2f1 100644 +--- a/src/BulletCollision/CMakeLists.txt ++++ b/src/BulletCollision/CMakeLists.txt +@@ -256,9 +256,7 @@ SET(BulletCollision_HDRS + ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) + SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletCollision PUBLIC LinearMath) + + + IF (INSTALL_LIBS) +@@ -268,7 +266,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletCollision DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletCollision ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt +index cfd49e9..217b702 100644 +--- a/src/BulletDynamics/CMakeLists.txt ++++ b/src/BulletDynamics/CMakeLists.txt +@@ -143,9 +143,7 @@ SET(BulletDynamics_HDRS + ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) + SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC BulletCollision) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -153,7 +151,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletDynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletDynamics ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt +index 3331c27..b49d795 100644 +--- a/src/BulletInverseDynamics/CMakeLists.txt ++++ b/src/BulletInverseDynamics/CMakeLists.txt +@@ -32,9 +32,7 @@ SET(BulletInverseDynamics_HDRS + ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseDynamics_HDRS}) + SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletInverseDynamics PUBLIC Bullet3Common LinearMath) + + + IF (INSTALL_LIBS) +@@ -44,7 +42,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletInverseDynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletInverseDynamics ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt +index c12eef5..51ecdca 100644 +--- a/src/BulletSoftBody/CMakeLists.txt ++++ b/src/BulletSoftBody/CMakeLists.txt +@@ -80,9 +80,7 @@ SET(BulletSoftBody_HDRS + ADD_LIBRARY(BulletSoftBody ${BulletSoftBody_SRCS} ${BulletSoftBody_HDRS}) + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES SOVERSION ${BULLET_VERSION}) +-IF (BUILD_SHARED_LIBS) +- TARGET_LINK_LIBRARIES(BulletSoftBody BulletDynamics) +-ENDIF (BUILD_SHARED_LIBS) ++TARGET_LINK_LIBRARIES(BulletSoftBody PUBLIC BulletDynamics) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -90,7 +88,9 @@ IF (INSTALL_LIBS) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS BulletSoftBody DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) +- INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin ++ INSTALL(TARGETS BulletSoftBody ++ EXPORT BulletTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt +index a0532c7..a9a577d 100644 +--- a/src/LinearMath/CMakeLists.txt ++++ b/src/LinearMath/CMakeLists.txt +@@ -57,6 +57,7 @@ SET(LinearMath_HDRS + ADD_LIBRARY(LinearMath ${LinearMath_SRCS} ${LinearMath_HDRS}) + SET_TARGET_PROPERTIES(LinearMath PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(LinearMath PROPERTIES SOVERSION ${BULLET_VERSION}) ++TARGET_INCLUDE_DIRECTORIES(LinearMath INTERFACE $) + + IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +@@ -66,6 +67,7 @@ IF (INSTALL_LIBS) + INSTALL(TARGETS LinearMath DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS LinearMath ++ EXPORT BulletTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) diff --git a/ports/bullet3/cmake-fix.patch b/ports/bullet3/cmake-fix.patch deleted file mode 100644 index 3b80ac00a080d5..00000000000000 --- a/ports/bullet3/cmake-fix.patch +++ /dev/null @@ -1,517 +0,0 @@ -diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in -index f5dc7bd..50b3d67 100644 ---- a/BulletConfig.cmake.in -+++ b/BulletConfig.cmake.in -@@ -13,13 +13,23 @@ - # BULLET_LIBRARY_DIRS - List of directories containing Bullet' libraries - # BULLET_ROOT_DIR - The base directory of Bullet - # BULLET_VERSION_STRING - A human-readable string containing the version -- -+@PACKAGE_INIT@ - set ( BULLET_FOUND 1 ) --set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) -+set_and_check ( BULLET_USE_FILE "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/UseBullet.cmake" ) - set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) --set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) --set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) -+set_and_check ( BULLET_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -+set_and_check ( BULLET_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) - set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) --set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) --set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) --set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) -\ No newline at end of file -+set_and_check ( BULLET_LIBRARY_DIRS "@PACKAGE_LIB_DESTINATION@" ) -+set_and_check ( BULLET_ROOT_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@" ) -+set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) -+# Load targets -+if(NOT TARGET Bullet3Common) -+ # -+ include("@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/LinearMathTargets.cmake") -+ file(GLOB CONFIG_FILES "@PACKAGE_BULLET_CONFIG_CMAKE_PATH@/*Targets.cmake") -+ foreach(f IN LISTS CONFIG_FILES) -+ include(${f}) -+ endforeach() -+ set(_DIR) -+endif() -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a695b71..f98cf4d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 2.4.3) -+cmake_minimum_required(VERSION 3.0) - set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) - cmake_policy(SET CMP0017 NEW) - #this line has to appear before 'PROJECT' in order to be able to disable incremental linking -@@ -489,24 +489,33 @@ IF (BUILD_UNIT_TESTS) - SUBDIRS(test) - ENDIF() - --set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet ) -+include(CMakePackageConfigHelpers) -+write_basic_package_version_file( -+ "${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake" -+ VERSION ${BULLET_VERSION} -+ COMPATIBILITY AnyNewerVersion -+) -+ -+set (BULLET_CONFIG_CMAKE_PATH share/bullet ) - list (APPEND BULLET_DEFINITIONS ${BULLET_DOUBLE_DEF}) --list (APPEND BULLET_LIBRARIES LinearMath) - list (APPEND BULLET_LIBRARIES Bullet3Common) - list (APPEND BULLET_LIBRARIES BulletInverseDynamics) --list (APPEND BULLET_LIBRARIES BulletCollision) - list (APPEND BULLET_LIBRARIES BulletDynamics) -+list (APPEND BULLET_LIBRARIES BulletCollision) - list (APPEND BULLET_LIBRARIES BulletSoftBody) --set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) --configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in -- ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -- @ONLY ESCAPE_QUOTES -- ) -+list (APPEND BULLET_LIBRARIES LinearMath) -+configure_package_config_file( -+ ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -+ PATH_VARS INCLUDE_INSTALL_DIR LIB_DESTINATION CMAKE_INSTALL_PREFIX BULLET_CONFIG_CMAKE_PATH -+ INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} -+) - OPTION(INSTALL_CMAKE_FILES "Install generated CMake files" ON) - - IF (INSTALL_CMAKE_FILES) - install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake - ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} - ) - ENDIF (INSTALL_CMAKE_FILES) -diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt -index d2ab423..dabb504 100644 ---- a/Extras/BulletRobotics/CMakeLists.txt -+++ b/Extras/BulletRobotics/CMakeLists.txt -@@ -282,7 +282,7 @@ SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) -+ TARGET_LINK_LIBRARIES(BulletRobotics PUBLIC BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) - ENDIF (BUILD_SHARED_LIBS) - - -diff --git a/Extras/BulletRoboticsGUI/CMakeLists.txt b/Extras/BulletRoboticsGUI/CMakeLists.txt -index 57ab97f..27b9992 100644 ---- a/Extras/BulletRoboticsGUI/CMakeLists.txt -+++ b/Extras/BulletRoboticsGUI/CMakeLists.txt -@@ -166,7 +166,7 @@ SET_TARGET_PROPERTIES(BulletRoboticsGUI PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletRoboticsGUI PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletRoboticsGUI BulletExampleBrowserLib BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) -+ TARGET_LINK_LIBRARIES(BulletRoboticsGUI PUBLIC BulletExampleBrowserLib BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) - ENDIF (BUILD_SHARED_LIBS) - - -diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt -index 132a336..62babb0 100644 ---- a/Extras/ConvexDecomposition/CMakeLists.txt -+++ b/Extras/ConvexDecomposition/CMakeLists.txt -@@ -39,7 +39,7 @@ SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(ConvexDecomposition PUBLIC BulletCollision LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt -index 22e953a..59b733d 100644 ---- a/Extras/InverseDynamics/CMakeLists.txt -+++ b/Extras/InverseDynamics/CMakeLists.txt -@@ -22,7 +22,7 @@ SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VER - SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) -+ TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils PUBLIC BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt -index 9b5dce7..2f30385 100644 ---- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt -+++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt -@@ -21,7 +21,7 @@ btBulletFile.h - ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletFileLoader PUBLIC LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES VERSION ${BULLET_VERSION}) -diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -index b56b39a..1684651 100644 ---- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -+++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt -@@ -16,7 +16,7 @@ SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletWorldImporter PUBLIC BulletDynamics BulletCollision BulletFileLoader LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -index 9fd125e..889c30e 100644 ---- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -+++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt -@@ -18,7 +18,7 @@ SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSIO - SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) - - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) -+ TARGET_LINK_LIBRARIES(BulletXmlWorldImporter PUBLIC BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - IF (INSTALL_EXTRA_LIBS) -diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt -index 130095c..661a461 100644 ---- a/src/Bullet3Collision/CMakeLists.txt -+++ b/src/Bullet3Collision/CMakeLists.txt -@@ -69,9 +69,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Collision DESTINATION .) -+ INSTALL(TARGETS Bullet3Collision EXPORT Bullet3CollisionTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Collision -+ EXPORT Bullet3CollisionTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -89,5 +90,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - #SET_PROPERTY(SOURCE ${Bullet3CollisionBroadPhase_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadPhaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3CollisionTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt -index e899e67..e990b16 100644 ---- a/src/Bullet3Common/CMakeLists.txt -+++ b/src/Bullet3Common/CMakeLists.txt -@@ -37,15 +37,17 @@ SET(Bullet3Common_HDRS - ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) -+TARGET_INCLUDE_DIRECTORIES(Bullet3Common INTERFACE $) - - IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Common DESTINATION .) -+ INSTALL(TARGETS Bullet3Common EXPORT Bullet3CommonTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Common -+ EXPORT Bullet3CommonTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -59,5 +61,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES PUBLIC_HEADER "${Bullet3Common_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3CommonTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt -index 94c120d..e83503a 100644 ---- a/src/Bullet3Dynamics/CMakeLists.txt -+++ b/src/Bullet3Dynamics/CMakeLists.txt -@@ -41,9 +41,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Dynamics DESTINATION .) -+ INSTALL(TARGETS Bullet3Dynamics EXPORT Bullet3DynamicsTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Dynamics -+ EXPORT Bullet3DynamicsTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -57,5 +58,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES PUBLIC_HEADER "${Bullet3Dynamics_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT Bullet3DynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt -index 8206872..e605d79 100644 ---- a/src/Bullet3Geometry/CMakeLists.txt -+++ b/src/Bullet3Geometry/CMakeLists.txt -@@ -27,9 +27,12 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3Geometry DESTINATION .) -+ INSTALL(TARGETS Bullet3Geometry -+ EXPORT Bullet3GeometryTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3Geometry -+ EXPORT Bullet3GeometryTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -43,5 +46,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES PUBLIC_HEADER "${Bullet3Geometry_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet3GeometryTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt -index 1da58d4..c1b21df 100644 ---- a/src/Bullet3OpenCL/CMakeLists.txt -+++ b/src/Bullet3OpenCL/CMakeLists.txt -@@ -44,7 +44,7 @@ ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_H - SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) -+ TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew PUBLIC LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -53,9 +53,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) -+ INSTALL(TARGETS BulletDynamics -+ EXPORT Bullet3OpenCLTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin -+ INSTALL(TARGETS Bullet3OpenCL_clew -+ EXPORT Bullet3OpenCLTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -73,5 +77,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" E - SET_PROPERTY(SOURCE ${BroadphaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadphaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet3OpenCLTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -index 1255766..67112b4 100644 ---- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -+++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt -@@ -35,9 +35,12 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS Bullet2FileLoader DESTINATION .) -+ INSTALL(TARGETS Bullet2FileLoader -+ EXPORT Bullet2FileLoaderTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet2FileLoader -+ EXPORT Bullet2FileLoaderTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -51,5 +54,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(Bullet2FileLoader PROPERTIES PUBLIC_HEADER "${Bullet2FileLoader_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT Bullet2FileLoaderTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt -index f5d7255..d857637 100644 ---- a/src/BulletCollision/CMakeLists.txt -+++ b/src/BulletCollision/CMakeLists.txt -@@ -257,7 +257,7 @@ ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) - SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(BulletCollision PUBLIC LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -266,9 +266,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletCollision DESTINATION .) -+ INSTALL(TARGETS BulletCollision -+ EXPORT BulletCollisionTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletCollision -+ EXPORT BulletCollisionTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -290,5 +294,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletCollision) - SET_PROPERTY(SOURCE ${NarrowPhaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/NarrowPhaseCollision) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletCollisionTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt -index 3332440..d1a1147 100644 ---- a/src/BulletDynamics/CMakeLists.txt -+++ b/src/BulletDynamics/CMakeLists.txt -@@ -140,16 +140,21 @@ ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) - SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) -+ TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC BulletCollision) - ENDIF (BUILD_SHARED_LIBS) -+TARGET_LINK_LIBRARIES(BulletDynamics PUBLIC LinearMath) - - IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletDynamics DESTINATION .) -+ INSTALL(TARGETS BulletDynamics -+ EXPORT BulletDynamicsTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletDynamics -+ EXPORT BulletDynamicsTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -171,5 +176,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletDynamics) - SET_PROPERTY(SOURCE ${Featherstone_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Featherstone) - SET_PROPERTY(SOURCE ${MLCPSolvers_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/MLCPSolvers) - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletDynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt -index 3331c27..d4fad26 100644 ---- a/src/BulletInverseDynamics/CMakeLists.txt -+++ b/src/BulletInverseDynamics/CMakeLists.txt -@@ -33,7 +33,7 @@ ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseD - SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) - SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) - IF (BUILD_SHARED_LIBS) -- TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) -+ TARGET_LINK_LIBRARIES(BulletInverseDynamics PUBLIC Bullet3Common LinearMath) - ENDIF (BUILD_SHARED_LIBS) - - -@@ -42,9 +42,13 @@ IF (INSTALL_LIBS) - #INSTALL of other files requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletInverseDynamics DESTINATION .) -+ INSTALL(TARGETS BulletInverseDynamics -+ EXPORT BulletInverseDynamicsTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletInverseDynamics -+ EXPORT BulletInverseDynamicsTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -62,5 +66,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletInverseDynamics) - SET_PROPERTY(SOURCE ${BulletInverseDynamicsDetails_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/details) - - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletInverseDynamicsTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt -index 9452768..5068a30 100644 ---- a/src/BulletSoftBody/CMakeLists.txt -+++ b/src/BulletSoftBody/CMakeLists.txt -@@ -78,9 +78,13 @@ IF (INSTALL_LIBS) - IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletSoftBody DESTINATION .) -+ INSTALL(TARGETS BulletSoftBody -+ EXPORT BulletSoftBodyTargets -+ DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin -+ INSTALL(TARGETS BulletSoftBody -+ EXPORT BulletSoftBodyTargets -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -@@ -93,5 +97,8 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES PUBLIC_HEADER "${BulletSoftBody_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ -+ INSTALL(EXPORT BulletSoftBodyTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) -diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt -index a0532c7..ecf06b3 100644 ---- a/src/LinearMath/CMakeLists.txt -+++ b/src/LinearMath/CMakeLists.txt -@@ -63,9 +63,10 @@ IF (INSTALL_LIBS) - #FILES_MATCHING requires CMake 2.6 - IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) - IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -- INSTALL(TARGETS LinearMath DESTINATION .) -+ INSTALL(TARGETS LinearMath EXPORT LinearMathTargets DESTINATION .) - ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS LinearMath -+ EXPORT LinearMathTargets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) -@@ -79,5 +80,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN - SET_TARGET_PROPERTIES(LinearMath PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(LinearMath PROPERTIES PUBLIC_HEADER "${LinearMath_HDRS}") - ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) -+ INSTALL(EXPORT LinearMathTargets -+ DESTINATION ${BULLET_CONFIG_CMAKE_PATH}) - ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - ENDIF (INSTALL_LIBS) diff --git a/ports/bullet3/cmake-version.diff b/ports/bullet3/cmake-version.diff new file mode 100644 index 00000000000000..f4bd3aad32185f --- /dev/null +++ b/ports/bullet3/cmake-version.diff @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a695b71..8c407de 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.4.3) ++cmake_minimum_required(VERSION 3.11) + set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + cmake_policy(SET CMP0017 NEW) + #this line has to appear before 'PROJECT' in order to be able to disable incremental linking diff --git a/ports/bullet3/opencl.diff b/ports/bullet3/opencl.diff new file mode 100644 index 00000000000000..3a7751c9bbdca2 --- /dev/null +++ b/ports/bullet3/opencl.diff @@ -0,0 +1,13 @@ +diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt +index b93b80b..c9c985c 100644 +--- a/src/Bullet3OpenCL/CMakeLists.txt ++++ b/src/Bullet3OpenCL/CMakeLists.txt +@@ -1,3 +1,8 @@ ++option(BUILD_OPENCL "Build Bullet3OpenCL_clew") ++if(NOT BUILD_OPENCL) ++ return() ++endif() ++ + INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + + ADD_DEFINITIONS(-DB3_USE_CLEW) diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index 503c81a35d69c2..8bdfb5a4d6539d 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,4 +1,6 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -7,45 +9,58 @@ vcpkg_from_github( SHA512 7086e5fcf69635801bb311261173cb8d173b712ca1bd78be03df48fad884674e85512861190e45a1a62d5627aaad65cde08c175c44a3be9afa410d3dfd5358d4 HEAD_REF master PATCHES - cmake-fix.patch + cmake-version.diff + cmake-config-export.diff + opencl.diff + tinyxml2.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/examples/ThirdPartyLibs") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES multithreading BULLET2_MULTITHREADING double-precision USE_DOUBLE_PRECISION extras BUILD_EXTRAS + opencl BUILD_OPENCL INVERTED_FEATURES rtti USE_MSVC_DISABLE_RTTI ) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" USE_MSVC_RUNTIME_LIBRARY_DLL) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DUSE_MSVC_RUNTIME_LIBRARY_DLL=ON + -DUSE_MSVC_RUNTIME_LIBRARY_DLL=${USE_MSVC_RUNTIME_LIBRARY_DLL} -DBUILD_CPU_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF -DBUILD_OPENGL3_DEMOS=OFF - -DBUILD_BULLET3=OFF + -DBUILD_BULLET3=ON -DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF -DBUILD_BULLET_ROBOTICS_EXTRA=OFF - -DBUILD_GIMPACTUTILS_EXTRA=OFF + -DBUILD_GIMPACTUTILS_EXTRA=OFF + -DBUILD_HACD_EXTRA=OFF + -DBUILD_OBJ2SDF_EXTRA=OFF -DBUILD_UNIT_TESTS=OFF -DINSTALL_LIBS=ON - -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + BUILD_BULLET_ROBOTICS_EXTRA + BUILD_BULLET_ROBOTICS_GUI_EXTRA + BUILD_GIMPACTUTILS_EXTRA + BUILD_HACD_EXTRA + BUILD_OBJ2SDF_EXTRA + USE_MSVC_DISABLE_RTTI ) vcpkg_cmake_install() vcpkg_copy_pdbs() - -vcpkg_cmake_config_fixup(PACKAGE_NAME bullet CONFIG_PATH share/bullet) - +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bullet) vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details") # empty file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/bullet3/tinyxml2.diff b/ports/bullet3/tinyxml2.diff new file mode 100644 index 00000000000000..7280e43664f98e --- /dev/null +++ b/ports/bullet3/tinyxml2.diff @@ -0,0 +1,38 @@ +diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in +index 2d18304..9d97c77 100644 +--- a/BulletConfig.cmake.in ++++ b/BulletConfig.cmake.in +@@ -15,6 +15,10 @@ + # BULLET_VERSION_STRING - A human-readable string containing the version + + @PACKAGE_INIT@ ++if("@BUILD_EXTRAS@" AND NOT "@BUILD_SHARED_LIBS@") ++ include(CMakeFindDependencyMacro) ++ find_dependency(tinyxml2 CONFIG) ++endif() + include("${CMAKE_CURRENT_LIST_DIR}/BulletTargets.cmake") + + set ( BULLET_FOUND 1 ) +diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +index 4e16d9e..ab8eb9d 100644 +--- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt ++++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +@@ -2,7 +2,6 @@ INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter +- ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2 + ) + + ADD_LIBRARY( +@@ -11,8 +10,9 @@ ADD_LIBRARY( + btBulletXmlWorldImporter.h + string_split.cpp + string_split.h +- ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp + ) ++find_package(tinyxml2 CONFIG REQUIRED) ++target_link_libraries(BulletXmlWorldImporter PRIVATE tinyxml2::tinyxml2) + + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) + SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) diff --git a/ports/bullet3/usage b/ports/bullet3/usage index fde1ec356461ab..167842aa37e777 100644 --- a/ports/bullet3/usage +++ b/ports/bullet3/usage @@ -1,4 +1,13 @@ -Bullet3 provides CMake targets: +bullet3 provides CMake targets: - find_package(Bullet CONFIG REQUIRED) - target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) + find_package(Bullet CONFIG REQUIRED) + # specific set: BulletSoftBody, BulletDynamics, BulletInverseDynamics, + # BulletCollision, Bullet3Common, LinearMath + target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) + # individual imported targets, e.g. for Bullet 3 libs + target_link_libraries(main PRIVATE Bullet3Dynamics) + +bullet3 provides pkg-config modules: + + # specific set: BulletSoftBody, BulletDynamics, BulletCollision, LinearMath + bullet diff --git a/ports/bullet3/vcpkg.json b/ports/bullet3/vcpkg.json index 6516e31babe51c..d3cd9d054c6995 100644 --- a/ports/bullet3/vcpkg.json +++ b/ports/bullet3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bullet3", "version": "3.25", - "port-version": 2, + "port-version": 3, "description": "Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library", "homepage": "https://github.com/bulletphysics/bullet3", "license": "Zlib", @@ -20,11 +20,18 @@ "description": "Use float64 doubles for bullet3" }, "extras": { - "description": "Build the extras" + "description": "Build selected extras", + "dependencies": [ + "tinyxml2" + ] }, "multithreading": { "description": "Multithreading functionality for bullet3" }, + "opencl": { + "description": "Build Bullet3OpenCL_clew library", + "supports": "!uwp" + }, "rtti": { "description": "Enable RTTI on windows" } diff --git a/scripts/test_ports/vcpkg-ci-bullet3/portfile.cmake b/scripts/test_ports/vcpkg-ci-bullet3/portfile.cmake new file mode 100644 index 00000000000000..77b7277fa3fc25 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-bullet3/portfile.cmake @@ -0,0 +1,19 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bulletphysics/bullet3 + REF 3.25 + SHA512 7086e5fcf69635801bb311261173cb8d173b712ca1bd78be03df48fad884674e85512861190e45a1a62d5627aaad65cde08c175c44a3be9afa410d3dfd5358d4 + HEAD_REF master +) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DSOURCE_PATH=${SOURCE_PATH}" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-bullet3/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-bullet3/project/CMakeLists.txt new file mode 100644 index 00000000000000..3e89f352ed6a43 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-bullet3/project/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.10) +project(bullet3-test CXX) + +set(CMAKE_CXX_STANDARD 11) + +block() + find_package(Bullet CONFIG REQUIRED) + + add_executable(main "${SOURCE_PATH}/examples/HelloWorld/HelloWorld.cpp") + target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) +endblock() + +if(WIN32) + set(unused "${PKG_CONFIG_EXECUTABLE}") + return() +endif() + +block() + find_package(PkgConfig REQUIRED) + pkg_check_modules(bullet bullet REQUIRED IMPORTED_TARGET) + + add_executable(main-pkgconfig "${SOURCE_PATH}/examples/HelloWorld/HelloWorld.cpp") + target_link_libraries(main-pkgconfig PRIVATE PkgConfig::bullet) +endblock() diff --git a/scripts/test_ports/vcpkg-ci-bullet3/vcpkg.json b/scripts/test_ports/vcpkg-ci-bullet3/vcpkg.json new file mode 100644 index 00000000000000..ecf08fa1903b5c --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-bullet3/vcpkg.json @@ -0,0 +1,45 @@ +{ + "name": "vcpkg-ci-bullet3", + "version-string": "ci", + "description": "Port to force features of bullet3 within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + "bullet3", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "extras", + { + "name": "opencl", + "platform": "!uwp" + } + ], + "features": { + "extras": { + "description": "bullet3[extras]", + "dependencies": [ + { + "name": "bullet3", + "features": [ + "extras" + ] + } + ] + }, + "opencl": { + "description": "bullet3[opencl]", + "dependencies": [ + { + "name": "bullet3", + "features": [ + "opencl" + ] + } + ] + } + } +} diff --git a/versions/b-/bullet3.json b/versions/b-/bullet3.json index cb4399cf35437b..15e4d6245f65c8 100644 --- a/versions/b-/bullet3.json +++ b/versions/b-/bullet3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8924ba3500ee3fb1124f3b827b86e0d456b90dd7", + "version": "3.25", + "port-version": 3 + }, { "git-tree": "8ee7660a10459f4d3d11054ab88177126d2131ca", "version": "3.25", diff --git a/versions/baseline.json b/versions/baseline.json index 547c458cb4c850..5b0981937a2951 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1430,7 +1430,7 @@ }, "bullet3": { "baseline": "3.25", - "port-version": 2 + "port-version": 3 }, "bustache": { "baseline": "1.1.0",