mirror of https://github.com/microsoft/vcpkg.git
[box3d] add new port (#52700)
This commit is contained in:
parent
572892cc19
commit
b5f167222c
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6360666..09a3dad 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,8 +24,6 @@ message(STATUS "CMake C++ compiler: ${CMAKE_CXX_COMPILER_ID}")
|
||||
message(STATUS "CMake system name: ${CMAKE_SYSTEM_NAME}")
|
||||
message(STATUS "CMake host system processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||
|
||||
-# static link to make leak checking easier (_crtBreakAlloc)
|
||||
-set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
if (MSVC OR APPLE OR UNIX)
|
||||
option(BOX3D_SANITIZE "Enable sanitizers for some builds" OFF)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO erincatto/box3d
|
||||
REF v${VERSION}
|
||||
SHA512 92eaa76bb0e309d10ae2f408183487e5c55eeff71428ae1a0d1b814d892ac532aca10069414c4b0ef998a754f0bf420a41838c94d70073485f6f9260371aa737
|
||||
HEAD_REF main
|
||||
PATCHES
|
||||
msvc-runtime.diff
|
||||
x86-msvc-popcount.diff
|
||||
)
|
||||
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
# Upstream's NEON path uses AArch64-only intrinsics (vdivq_f32, vsqrtq_f32)
|
||||
list(APPEND OPTIONS -DBOX3D_DISABLE_SIMD=ON)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${OPTIONS}
|
||||
-DBOX3D_SAMPLES=OFF
|
||||
-DBOX3D_BENCHMARKS=OFF
|
||||
-DBOX3D_DOCS=OFF
|
||||
-DBOX3D_PROFILE=OFF
|
||||
-DBOX3D_VALIDATE=OFF
|
||||
-DBOX3D_UNIT_TESTS=OFF
|
||||
-DBOX3D_COMPILE_WARNING_AS_ERROR=OFF
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/box3d)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/box3d/base.h" "defined(BOX3D_DLL)" "1")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "box3d",
|
||||
"version-semver": "0.1.0",
|
||||
"description": "A 3D physics engine for games",
|
||||
"homepage": "https://github.com/erincatto/box3d",
|
||||
"license": "MIT",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/src/ctz.h b/src/ctz.h
|
||||
index 483ce4b..b592afb 100644
|
||||
--- a/src/ctz.h
|
||||
+++ b/src/ctz.h
|
||||
@@ -72,7 +72,12 @@ static inline uint32_t b3CTZ64( uint64_t block )
|
||||
|
||||
static inline int b3PopCount64( uint64_t block )
|
||||
{
|
||||
+#ifdef _WIN64
|
||||
return (int)__popcnt64( block );
|
||||
+#else
|
||||
+ // 32-bit fall back
|
||||
+ return (int)( __popcnt( (uint32_t)block ) + __popcnt( (uint32_t)( block >> 32 ) ) );
|
||||
+#endif
|
||||
}
|
||||
|
||||
#else
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "a9c129249164e17d4ba0e69ec8c0d7272a3e7040",
|
||||
"version-semver": "0.1.0",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1472,6 +1472,10 @@
|
|||
"baseline": "3.1.1",
|
||||
"port-version": 0
|
||||
},
|
||||
"box3d": {
|
||||
"baseline": "0.1.0",
|
||||
"port-version": 0
|
||||
},
|
||||
"braft": {
|
||||
"baseline": "2021-26-04",
|
||||
"port-version": 7
|
||||
|
|
|
|||
Loading…
Reference in New Issue