![]() |
aGrUM 3.2.0
a C++ library for (probabilistic) graphical models
|
aGrUM/pyAgrum are built with CMake, driven through a thin Python wrapper called act (acttools/).
aGrUM/pyAgrum are built with CMake, driven through a thin Python wrapper called act (acttools/).
This page lists the build flavors act can produce; for how modules map to shared/static binaries, see Code modularization (aGrUM and pyAgrum).
Canonical form: act <action> <mode> <target> [flags...]
Examples: act lib release aGrUM, act test debug pyAgrum, act install release aGrUM --static_lib.
act --dry-run prints the resulting cmake invocation without running it – the fastest way to see exactly which flags a given combination of options produces.
| Flavor | CMake option | act flag | Notes |
|---|---|---|---|
| Shared vs static | BUILD_SHARED_LIBS (default ON) | --static_lib | aGrUM on Windows is always static (enforced by act); pyAgrum is always forced static regardless of this flag. |
| Threading | GUM_THREADS=omp|stl (CMake default stl) | -tt/--threads {omp,stl} (act default omp) | pyAgrum always forces GUM_THREADS=stl. |
| Module selection | BUILD_ALL, BUILD_<MODULE> | -m/--modules {show|all|mod1+mod2+...} | Modules: BASE, BN, PRM, MRF, CN, FMDP, ID, CM, KTBN (see src/modules.txt). pyAgrum additionally toggles each SWIG-wrapped leaf module independently via PYAGRUM_WITH_<MODULE> (MRF, ID, CN, CM, PRM, KTBN, default ON each); FMDP has no Python binding. |
| Database support | USE_NANODBC (default ON) | --withSQL / --withoutSQL | ODBC connectivity via the vendored nanodbc library. |
| Python stable ABI | AGRUM_PYTHON_SABI (default ON) | --stable_abi_off | Mutually exclusive with the free-threaded build below. |
| Python free-threading | AGRUM_PYTHON_NOGIL (default OFF) | --no_gil | Experimental GIL-disabled pyAgrum build. |
| Compiler | n/a | --compiler {gcc|clang|mvsc22|mvsc19|mvsc17|mvsc15|mingw64|...} | Default gcc on Linux/macOS, mvsc22 on Windows; only the MSVC variants and mingw64 are allowed on Windows. |
Platforms exercised by the build system: Linux, macOS and Windows, with GCC, Clang and MSVC/MinGW as the supported compiler families (see the top-level CLAUDE.md for the minimum supported versions).