A simple C++ library for loading configuration from files. Unit tests and examples are provided.
- Load configuration from YAML file
- Simple API: get(key) / getOrDefault(key, default)
- Support for nested keys (e.g. server.port)
- Thread-safe read access (std::shared_mutex)
- C++20 compatible compiler
- CMake >= 3.15
- (Optional) GoogleTest for unit tests
| Option | Default | Description |
|---|---|---|
ENABLE_TESTS |
OFF | Build unit tests (requires GTest) |
ENABLE_EXAMPLES |
OFF | Build EXAMPLES |
CMAKE_EXPORT_COMPILE_COMMANDS |
OFF | Generate compile_commands.json for IDEs |
# Default build
cmake -S . -B build
cmake --build build
# Build with tests + benchmarks
cmake -S . -B build -DENABLE_TESTS=ON -DENABLE_EXAMPLES=ON
cmake --build build
# Install
sudo cmake --install buildcd ./build/bin && ./config_loader_examplecd ./build && ctest --output-on-failure