mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)- CMake 3.14+
- C++20 compiler (GCC 11+, Clang 14+, AppleClang 15+)
- Boost (program_options, iostreams, filesystem, date_time)
- Protocol Buffers
- Cap'n Proto
- htslib
- zlib, Eigen3
Other dependencies (TBB, jsoncpp, spdlog, abseil, zstd, libdeflate) are fetched automatically.
Integration tests run against test data in src/test/data/:
ctest --test-dir build -R integration --output-on-failureUnit tests (requires Boost.Test):
cmake .. -DOPTION_BUILD_TESTS=ON
make -j$(nproc)
ctest --test-dir build --output-on-failure- Use
.clang-format(Google-based, 4-space indent, 120 col) - Only format
src/files, notsrc/3rdparty/ - Prefer
static_cast<>over C-style casts - Use
constreferences for read-only parameters - Add
[[nodiscard]]to functions returning error codes
- Create a feature branch from
main - Ensure
ctest -R integrationpasses - Keep commits focused and messages concise