Skip to main content

Build profiles & CMake options

The framework's top-level CMakeLists.txt exposes a handful of options that control what gets built and how. This page documents the load-bearing ones.

Build profiles

The framework supports three named profiles:

ProfileUse caseWhat's compiled
ProductionCustomer-facing buildsAll public Nodes, MPK loader, Modalix backends, optimized
DeveloperFramework engineersProduction set + debug Nodes + extended diagnostics + tests
SandboxMulti-tenant deploymentsProduction set + tightened MPK security defaults

Pick via -DSIMA_NEAT_PROFILE=Production|Developer|Sandbox at configure time (or accept the default in CMakeLists.txt).

Common options

OptionDefaultEffect
SIMA_NEAT_BUILD_TESTSON (Developer)Build the gtest suite. Disable for faster CI on production builds.
SIMA_NEAT_BUILD_TUTORIALSOFFBuild the tutorial binaries. (Tutorials are being deprecated.)
SIMA_NEAT_BUILD_PYTHONONBuild the pyneat nanobind module.
SIMA_NEAT_BUILD_INTERNALSOFF (public)Build the internal reach-through tier (core/src/pipeline/internal/sima/).
SIMA_NEAT_ENABLE_TVM_FALLBACKONCompile TVM-backed fallback kernels for ops the MLA can't handle.
SIMA_NEAT_ENABLE_RTSPONBuild the RTSP source/sink Nodes.
SIMA_NEAT_DEBUG_PLUGINSOFFForward GStreamer plugin debug to stdout.
SIMA_NEAT_USE_SYSTEM_GSTREAMERON (host) / OFF (cross)Link against the system's GStreamer instead of bundling.
SIMA_NEAT_WARN_AS_ERROROFFPromote compile warnings to errors. Recommended for CI.

Toolchain knobs

For cross-compilation toward Modalix:

cmake -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/modalix.cmake \
-DSIMA_NEAT_PROFILE=Production

For host-side development:

cmake -B build -DSIMA_NEAT_PROFILE=Developer

Option discovery

To enumerate what your tree exposes (versions and defaults can drift across releases):

cmake -L -B build # list all cache variables
cmake -LA -B build # include advanced

Further reading

  • "Build profiles" — §32, §60 of the design deep dive.
  • Build / install — the user-facing build guide.
  • The top-level CMakeLists.txt is the source of truth for option names.