CMake options¶
// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=
// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
// Build DLT backend plugin
ELOSD_EVENTLOGGING_BACKEND_DLT:BOOL=ON
// Build InfluxDB backend plugin
ELOSD_EVENTLOGGING_BACKEND_INFLUXDB:BOOL=OFF
// Build sqlite3 bakend plugin
ELOSD_EVENTLOGGING_BACKEND_SQL:BOOL=ON
// Build libelosdlt, a dlt protocol implementation.
ELOSD_LIBDLT:BOOL=ON
// Enable systemd features (startup notification and socket-based activation for the syslog scanner)
ELOSD_SYSTEMD:BOOL=OFF
// enable all default builds
ELOS_BUILD_DEFAULTS:BOOL=ON
// build libelos_common
ELOS_COMMON:BOOL=ON
// Build elosd
ELOS_DAEMON:BOOL=ON
// Build the elos demos
ELOS_DEMOS:BOOL=ON
// build libelos
ELOS_LIBRARY:BOOL=ON
// build libelos-cpp
ELOS_LIBRARY_CPP:BOOL=ON
// build libelos-lite
ELOS_LIBRARY_LITE:BOOL=OFF
// Build the mock libraries
ELOS_MOCK_LIBRARY:BOOL=OFF
// Build the elos plugins
ELOS_PLUGINS:BOOL=ON
// build libelosplugin
ELOS_PLUGIN_LIBRARY:BOOL=ON
// Build elosc and other tools
ELOS_TOOLS:BOOL=ON
// Build with -fanalyzer
ENABLE_ANALYZER:BOOL=ON
// Link with ASAN
ENABLE_ASAN:BOOL=ON
// Use CI mode for building
ENABLE_CI:BOOL=OFF
// Enable the git hash for the version
ENABLE_GIT_VERSION:BOOL=ON
// Enables the safuLog functions
ENABLE_LOGGING:BOOL=OFF
// install the elosd.service unit
INSTALL_ELOSD_SYSTEMD_UNIT:BOOL=OFF
// destination directory for the service unit
INSTALL_ELOSD_SYSTEMD_UNIT_DIR:STRING=lib/systemd/system
// install the elosd init script
INSTALL_ELOSD_SYSVINIT_SCRIPT:BOOL=OFF
// destination directory for the elosd init script
INSTALL_ELOSD_SYSVINIT_SCRIPT_DIR:STRING=etc/init.d
// Install elosd
INSTALL_ELOS_DAEMON:BOOL=ON
// Install the elos demos
INSTALL_ELOS_DEMOS:BOOL=ON
// Install the mock libraries
INSTALL_ELOS_MOCK_LIBRARY:BOOL=ON
// install the elos plugins
INSTALL_ELOS_PLUGINS:BOOL=ON
// Install elosc and other tools
INSTALL_ELOS_TOOLS:BOOL=ON
// Build smoke tests
INSTALL_SMOKE_TESTS:BOOL=OFF
// Install unit tests
INSTALL_UNIT_TESTS:BOOL=ON
// Path to a program.
PANDOC:FILEPATH=PANDOC-NOTFOUND
// Path to a program.
PLANTUML:FILEPATH=/usr/bin/plantuml
// Build smoke tests
SMOKE_TESTS:BOOL=ON
// Build unit tests
UNIT_TESTS:BOOL=ON
// The directory containing a CMake configuration file for cmocka.
cmocka_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/cmocka
// The directory containing a CMake configuration file for cmocka_extensions.
cmocka_extensions_DIR:PATH=/usr/local/lib/cmake/cmocka_extensions
// The directory containing a CMake configuration file for cmocka_mocks.
cmocka_mocks_DIR:PATH=/usr/local/lib/cmake/cmocka_mocks
// The directory containing a CMake configuration file for json-c.
json-c_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/json-c
// The directory containing a CMake configuration file for safu.
safu_DIR:PATH=/usr/local/lib/cmake/safu
// The directory containing a CMake configuration file for samconf.
samconf_DIR:PATH=/usr/local/lib/cmake/samconf
Usage of find_package¶
- Always specify a version. find_package(dependecy X.Y.Z REQUIRED) 
- Specify the version used for development 
- The version doesn’t guarantee that in the future the build still works with this version. 
- The version does not necessarily say the previous versions will not work. 
- The version is just an indicator for later issue or bug tracking, to say: “It was developed with this version and it worked”. 
- Usually we always build against the latest available version of our dependencies, so we only can guarantee that the latest upstream version will work. 
