1.0.10
What's New
- Minimal build mode (
-DWITH_3RD_PARTY_LIBS=OFF): Build CoACD without the bundled OpenVDB/Boost/TBB/spdlog dependencies. Input meshes must already be 2-manifold (manifold preprocessing is unavailable in this mode), and logging falls back to stdout. Useful for reducing binary size and build time when integrating CoACD into a larger project that doesn't need manifold repair. - Windows 64-bit correctness fix: Fixed a pointer-truncation bug in the bundled Bullet convex hull code (
btAlignedAllocator) whereunsigned longwas used to hold a pointer. On Windows (LLP64)unsigned longis 32 bits, so the cast truncated 64-bit addresses. Replaced withuintptr_t. - Robustness:
sobolnow throws on error instead of callingexit(), so the Python bindings and library users can catch and handle sequence-generation failures instead of having the process killed. - Build & CI:
- CI now runs on pull requests, not just pushes to
main. - Build step uses
cmake -Band--parallel 4, bumpedactions/checkoutto v6. - Dropped
-fPICfrom global CXX flags in favor of thePOSITION_INDEPENDENT_CODEtarget property. - Dropped
-fpermissiveand-D_USE_MATH_DEFINESon Linux/macOS (codebase doesn't need them; kept on MSVC because bundled OpenVDB headers referenceM_PI). - Quickhull backport fixes and uninitialized-array warning fixes.
- CI now runs on pull requests, not just pushes to
- Script fix:
run_example.shnow uses-pm offinstead of the non-existent-npflag for SnowFlake and Octocat examples.
Usage
# Minimal build (no OpenVDB / Boost / spdlog)
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_3RD_PARTY_LIBS=OFF
cmake --build . --target main -jFull Changelog: 1.0.9...1.0.10