CMake Build Options

The following CMake build options configure the NebulaStream build process.

Build optionDescription
CMAKE_ENABLE_JEMALLOCBuild using jemalloc.
CMAKE_EXPORT_COMPILE_COMMANDSWrite JSON compile commands database.
CMAKE_NES_DEBUG_TUPLE_BUFFER_LEAKSBuild using tuple buffer leak detector.
CMAKE_NES_TRACE_NODE_CREATIONDebug flag such that we track the creation of specific operator nodes.
CMAKE_USE_LATCH_FREE_BUFFER_MANAGERBuild using folly and lock-free MPMC queue for the buffer manager.
CMAKE_USE_MPMC_BLOCKING_CONCURRENT_QUEUEBuild using folly and lock-free MPMC queue.
CMAKE_USE_ONE_QUEUE_PER_NUMA_NODEBuild using NUMA optimization.
CMAKE_USE_PAPI_PROFILERBuild using PAPI Profiler.
ENABLE_CLANG_TIDYEnable clang tidy.
ENABLE_IWYUEnable include-what-you-use suggestions (if found on the system).
NES_BUILD_DEPENDENCIES_LOCALEnable local dependency building (this may take a long time).
NES_BUILD_NATIVEEnable native mtune/march for optimizations.
NES_COMPUTE_COVERAGECompute test coverage.
NES_ENABLES_TESTSEnable tests.
NES_SELF_HOSTINGActivate self hosting, such that the compiler from the dependencies is taken.
NES_USE_LLDUse LLD.
NES_USE_PREBUILD_DEPENDENCIESEnable prebuild dependencies only if NES_BUILD_DEPENDENCIES_LOCAL is OFF.
USE_S2Toggle import and usage of s2 library.