aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/chipmunk
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/chipmunk
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/chipmunk')
-rw-r--r--vcpkg/ports/chipmunk/export-targets.patch40
-rw-r--r--vcpkg/ports/chipmunk/portfile.cmake39
-rw-r--r--vcpkg/ports/chipmunk/vcpkg.json19
3 files changed, 98 insertions, 0 deletions
diff --git a/vcpkg/ports/chipmunk/export-targets.patch b/vcpkg/ports/chipmunk/export-targets.patch
new file mode 100644
index 0000000..de88e49
--- /dev/null
+++ b/vcpkg/ports/chipmunk/export-targets.patch
@@ -0,0 +1,40 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 34882d1..d47c303 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -31,7 +31,9 @@ if(BUILD_SHARED)
+ # need to explicitly link to the math library because the CMake/Android toolchains may not do it automatically
+ target_link_libraries(chipmunk m)
+ endif(ANDROID OR UNIX)
+- install(TARGETS chipmunk RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ target_include_directories(chipmunk INTERFACE $<INSTALL_INTERFACE:include>)
++ install(TARGETS chipmunk EXPORT unofficial-chipmunk-config
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+ endif(BUILD_SHARED)
+@@ -46,9 +48,12 @@ if(BUILD_STATIC)
+ set_target_properties(chipmunk_static PROPERTIES LINKER_LANGUAGE CXX)
+ endif(MSVC)
+ # Sets chipmunk_static to output "libchipmunk.a" not "libchipmunk_static.a"
+- set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk)
++ set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk EXPORT_NAME chipmunk)
++ target_include_directories(chipmunk_static INTERFACE $<INSTALL_INTERFACE:include>)
+ if(INSTALL_STATIC)
+- install(TARGETS chipmunk_static ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS chipmunk_static EXPORT unofficial-chipmunk-config
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+ endif(INSTALL_STATIC)
+ endif(BUILD_STATIC)
+
+@@ -57,3 +62,9 @@ if(BUILD_SHARED OR INSTALL_STATIC)
+ install(FILES ${chipmunk_public_header} DESTINATION include/chipmunk)
+ install(FILES ${chipmunk_constraint_header} DESTINATION include/chipmunk/constraints)
+ endif(BUILD_SHARED OR INSTALL_STATIC)
++
++install(EXPORT unofficial-chipmunk-config
++ FILE unofficial-chipmunk-config.cmake
++ NAMESPACE unofficial::chipmunk::
++ DESTINATION share/unofficial-chipmunk
++)
diff --git a/vcpkg/ports/chipmunk/portfile.cmake b/vcpkg/ports/chipmunk/portfile.cmake
new file mode 100644
index 0000000..727ad21
--- /dev/null
+++ b/vcpkg/ports/chipmunk/portfile.cmake
@@ -0,0 +1,39 @@
+vcpkg_download_distfile(
+ SYSCTL_REMOVED_PATCH
+ URLS https://github.com/slembcke/Chipmunk2D/commit/9a051e6fb970c7afe09ce2d564c163b81df050a8.patch?full_index=1
+ SHA512 54ec8766529d301ea35e8e0e7f7e9803101454d0f3655f7be87b6c81414a71e6fd269c14cf1d89902eebea78bb20526b0e4da4c53cf660d169ebabe46dadd059
+ FILENAME 9a051e6fb970c7afe09ce2d564c163b81df050a8.patch
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO slembcke/Chipmunk2D
+ REF "Chipmunk-${VERSION}"
+ SHA512 edd16544a572c8f7654c99d6420aefe2f73ce2630f3e2e969f17b4980a8ea4044b5738f4a3cefbe0edd7bb4cd039a70748773b48cd59df12a09123eca9f451e4
+ HEAD_REF master
+ PATCHES
+ "${SYSCTL_REMOVED_PATCH}"
+ export-targets.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_DEMOS=OFF
+ -DBUILD_SHARED=${KEYSTONE_BUILD_SHARED}
+ -DBUILD_STATIC=${KEYSTONE_BUILD_STATIC}
+ -DINSTALL_STATIC=${KEYSTONE_BUILD_STATIC}
+)
+
+vcpkg_cmake_install()
+
+if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+endif()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-chipmunk)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
diff --git a/vcpkg/ports/chipmunk/vcpkg.json b/vcpkg/ports/chipmunk/vcpkg.json
new file mode 100644
index 0000000..5877bd2
--- /dev/null
+++ b/vcpkg/ports/chipmunk/vcpkg.json
@@ -0,0 +1,19 @@
+{
+ "name": "chipmunk",
+ "version": "7.0.3",
+ "port-version": 7,
+ "description": "A fast and lightweight 2D game physics library.",
+ "homepage": "https://github.com/slembcke/Chipmunk2D",
+ "license": "MIT",
+ "supports": "!(arm & !arm64 & android)",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}