diff options
Diffstat (limited to 'vcpkg/ports/box2d')
| -rw-r--r-- | vcpkg/ports/box2d/libm.diff | 18 | ||||
| -rw-r--r-- | vcpkg/ports/box2d/portfile.cmake | 35 | ||||
| -rw-r--r-- | vcpkg/ports/box2d/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/box2d/vcpkg.json | 17 |
4 files changed, 74 insertions, 0 deletions
diff --git a/vcpkg/ports/box2d/libm.diff b/vcpkg/ports/box2d/libm.diff new file mode 100644 index 0000000..e7b5c51 --- /dev/null +++ b/vcpkg/ports/box2d/libm.diff @@ -0,0 +1,18 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dbc41b1..9ae252d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -87,6 +87,13 @@ target_include_directories(box2d + + set(CMAKE_DEBUG_POSTFIX "d") + ++if(NOT WIN32) ++ find_library(HAVE_LIBM m) ++ if(HAVE_LIBM) ++ target_link_libraries(box2d PRIVATE m) ++ endif() ++endif() ++ + # Box2D uses C17 for _Static_assert and anonymous unions + set_target_properties(box2d PROPERTIES + C_STANDARD 17 diff --git a/vcpkg/ports/box2d/portfile.cmake b/vcpkg/ports/box2d/portfile.cmake new file mode 100644 index 0000000..88187ea --- /dev/null +++ b/vcpkg/ports/box2d/portfile.cmake @@ -0,0 +1,35 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO erincatto/Box2D + REF v${VERSION} + SHA512 7367640e7f2ff395b8ca48766c71f57c96e08c298627c996eba76899a149ee28b0e3ecacfa4a224fdb5d160c7e25c6069bb8414fd1575787727d796097aa347b + HEAD_REF main + PATCHES + libm.diff +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBOX2D_SAMPLES=OFF + -DBOX2D_BENCHMARKS=OFF + -DBOX2D_DOCS=OFF + -DBOX2D_PROFILE=OFF + -DBOX2D_VALIDATE=OFF + -DBOX2D_UNIT_TESTS=OFF + -DBOX2D_COMPILE_WARNING_AS_ERROR=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/box2d) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/box2d/base.h" "defined( BOX2D_DLL )" "1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/box2d/usage b/vcpkg/ports/box2d/usage new file mode 100644 index 0000000..176da24 --- /dev/null +++ b/vcpkg/ports/box2d/usage @@ -0,0 +1,4 @@ +box2d provides CMake targets:
+
+ find_package(box2d CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE box2d::box2d)
diff --git a/vcpkg/ports/box2d/vcpkg.json b/vcpkg/ports/box2d/vcpkg.json new file mode 100644 index 0000000..854a051 --- /dev/null +++ b/vcpkg/ports/box2d/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "box2d", + "version-semver": "3.1.1", + "description": "An open source C++ engine for simulating rigid bodies in 2D", + "homepage": "https://box2d.org", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |