Skip to content

Latest commit

 

History

History
64 lines (43 loc) · 1.25 KB

build.md

File metadata and controls

64 lines (43 loc) · 1.25 KB

Build

Configure and Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

Testing

Unit tests are enabled with BUILD_TESTING=ON and are deterministic by default. Environment-dependent DNS integration tests are off unless explicitly enabled:

cmake -S . -B build -DBUILD_TESTING=ON -DENABLE_INTEGRATION_TESTS=ON
ctest --test-dir build --output-on-failure

Dependency Source (system vs vcpkg)

By default, the build uses vcpkg if VCPKG_ROOT is set. To prefer system packages, disable vcpkg:

cmake -S . -B build -DPULSECAN_USE_VCPKG=OFF

To force vcpkg (static libs) when it is available:

cmake -S . -B build -DPULSECAN_USE_VCPKG=ON

Packaging (DEB/RPM)

Packages are generated via CPack. After a successful build, run:

cpack --config build/CPackConfig.cmake -G DEB
cpack --config build/CPackConfig.cmake -G RPM

Or use the package target:

cmake --build build --target package

Enable Stacktrace (Optional)

The stacktrace support is optional and off by default.

Enable the vcpkg feature:

vcpkg install --feature-flags=manifest pulsescan-cpp[stacktrace]

Enable the CMake toggle:

cmake -S . -B build -DENABLE_STACKTRACE=ON