Skip to content

Latest commit

 

History

History
78 lines (54 loc) · 2.45 KB

File metadata and controls

78 lines (54 loc) · 2.45 KB

Build Instructions

This project uses Conan 2 for dependency management and CMake as the build system.

Directory layout

All paths below are relative to <fix-root> (the repository root).

Directory / file Purpose
build/ CMake binary dir (gitignored)
build/generators/ Conan-generated CMake integration files
build/generators/conan_toolchain.cmake Toolchain file passed to CMake
CMakeUserPresets.json Generated by Conan; consumed by VS / cmake (gitignored)
build/generators/conanbuild.bat / conanrun.bat Generated by Conan (gitignored via build/)

Prerequisites

  • CMake 3.15 or higher
  • Conan 2.x (pip install conan)
  • C++23 compatible compiler (MSVC 19.3+ / Clang 16+ / GCC 13+)

Step 1 — Install dependencies with Conan

Run from <fix-root>:

conan install . --output-folder=. --build=missing -s build_type=Debug -s compiler.cppstd=23

For a Release build, replace -s build_type=Debug with -s build_type=Release.

This writes all integration files into build/generators/ and regenerates CMakeUserPresets.json. Re-run this command whenever conanfile.txt changes.

Step 2 — Configure CMake

Via preset (recommended)

Conan generates a conan-default preset. Use it directly:

cmake --preset conan-default

Manually (CMake < 3.23 or no preset support)

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=build/generators/conan_toolchain.cmake

Step 3 — Build

cmake --build build --config Debug

Visual Studio

Visual Studio reads CMakeUserPresets.json automatically. After running Step 1:

  1. Open the configuration dropdown and select conan-default.
  2. Visual Studio will configure CMake using build/ as the binary dir.
  3. Build as normal.

Running Tests

All non-wip tests (unit + stable behave)

ctest --test-dir build --output-on-failure -C Debug -LE wip

WIP behave tests only

Run from the behave/ subdirectory:

cd behave
behave -t wip --no-capture --no-logcapture

The behave acceptance tests are also registered as individual CTest targets (behave_stable_tests, behave_wip_tests) and can be addressed by name via ctest -R <target-name>.