aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/bullet3
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/bullet3
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/bullet3')
-rw-r--r--vcpkg/ports/bullet3/cmake-config-export.diff460
-rw-r--r--vcpkg/ports/bullet3/cmake-version.diff10
-rw-r--r--vcpkg/ports/bullet3/opencl.diff13
-rw-r--r--vcpkg/ports/bullet3/portfile.cmake66
-rw-r--r--vcpkg/ports/bullet3/tinyxml2.diff38
-rw-r--r--vcpkg/ports/bullet3/usage13
-rw-r--r--vcpkg/ports/bullet3/vcpkg.json39
7 files changed, 639 insertions, 0 deletions
diff --git a/vcpkg/ports/bullet3/cmake-config-export.diff b/vcpkg/ports/bullet3/cmake-config-export.diff
new file mode 100644
index 0000000..f89fdd8
--- /dev/null
+++ b/vcpkg/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 $<INSTALL_INTERFACE:include/bullet>)
+
+ 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 $<INSTALL_INTERFACE:include/bullet>)
+
+ 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/vcpkg/ports/bullet3/cmake-version.diff b/vcpkg/ports/bullet3/cmake-version.diff
new file mode 100644
index 0000000..f4bd3aa
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/bullet3/opencl.diff b/vcpkg/ports/bullet3/opencl.diff
new file mode 100644
index 0000000..3a7751c
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/bullet3/portfile.cmake b/vcpkg/ports/bullet3/portfile.cmake
new file mode 100644
index 0000000..8bdfb5a
--- /dev/null
+++ b/vcpkg/ports/bullet3/portfile.cmake
@@ -0,0 +1,66 @@
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO bulletphysics/bullet3
+ REF "${VERSION}"
+ SHA512 7086e5fcf69635801bb311261173cb8d173b712ca1bd78be03df48fad884674e85512861190e45a1a62d5627aaad65cde08c175c44a3be9afa410d3dfd5358d4
+ HEAD_REF master
+ PATCHES
+ 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=${USE_MSVC_RUNTIME_LIBRARY_DLL}
+ -DBUILD_CPU_DEMOS=OFF
+ -DBUILD_BULLET2_DEMOS=OFF
+ -DBUILD_OPENGL3_DEMOS=OFF
+ -DBUILD_BULLET3=ON
+ -DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF
+ -DBUILD_BULLET_ROBOTICS_EXTRA=OFF
+ -DBUILD_GIMPACTUTILS_EXTRA=OFF
+ -DBUILD_HACD_EXTRA=OFF
+ -DBUILD_OBJ2SDF_EXTRA=OFF
+ -DBUILD_UNIT_TESTS=OFF
+ -DINSTALL_LIBS=ON
+ ${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(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") # 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/vcpkg/ports/bullet3/tinyxml2.diff b/vcpkg/ports/bullet3/tinyxml2.diff
new file mode 100644
index 0000000..7280e43
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/bullet3/usage b/vcpkg/ports/bullet3/usage
new file mode 100644
index 0000000..167842a
--- /dev/null
+++ b/vcpkg/ports/bullet3/usage
@@ -0,0 +1,13 @@
+bullet3 provides CMake targets:
+
+ 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/vcpkg/ports/bullet3/vcpkg.json b/vcpkg/ports/bullet3/vcpkg.json
new file mode 100644
index 0000000..d3cd9d0
--- /dev/null
+++ b/vcpkg/ports/bullet3/vcpkg.json
@@ -0,0 +1,39 @@
+{
+ "name": "bullet3",
+ "version": "3.25",
+ "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",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "double-precision": {
+ "description": "Use float64 doubles for bullet3"
+ },
+ "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"
+ }
+ }
+}