C++ Library Guide¶
Feature Options¶
| Option | Default | Description |
|---|---|---|
PGO_FEATURE_PYTHON |
OFF |
Build Python bindings |
PGO_FEATURE_ANIMATION_IO |
OFF |
Enable Alembic/Imath animation I/O |
PGO_FEATURE_GEOMETRY_STACK |
OFF |
Enable Boost/CGAL/Ceres/NLopt/SuiteSparse |
PGO_FEATURE_LIBIGL |
OFF |
Enable libigl integration |
PGO_FEATURE_GEOGRAM |
OFF |
Enable geogram integration |
PGO_FEATURE_GMSH |
OFF |
Enable gmsh integration |
PGO_FEATURE_MKL |
OFF |
Enable MKL support |
PGO_FEATURE_ARPACK |
OFF |
Enable ARPACK support |
PGO_PROFILE_FULL |
OFF |
Convenience: enables Python + animation I/O + geometry stack + libigl + geogram + gmsh |
Behavior:
PGO_FEATURE_PYTHON=ONimpliesPGO_FEATURE_GEOMETRY_STACK=ONPGO_PROFILE_FULL=ONexpands to the full feature set
Build Presets¶
Core Build¶
Geometry Stack Build¶
cmake --preset geometry-release
cmake --build --preset geometry-release
ctest --preset geometry-release
Animation I/O (without Python)¶
Full Build¶
Conan Dependency Management¶
The build uses cmake/BootstrapConan.cmake which automatically:
- Exports private Conan recipes from
conan/recipes/ - Runs
conan installduring the CMake configure step - Tracks a feature signature to re-run Conan only when options change
Conan options mirror the CMake feature model: with_python, with_animation_io, with_geometry_stack, etc.
MKL Support¶
MKL is system-managed (not Conan-managed). Install via Intel oneAPI or Conda, then enable PGO_FEATURE_MKL=ON.
- Linux:
source /opt/intel/oneapi/setvars.shbefore configure - Windows: run
setvars.batfrom the oneAPI install directory