1
Build Install and Test
GigabiteStudios edited this page 2026-06-17 19:04:13 -05:00

Build, Install, and Test

CMake options

Option Default Purpose
IKVXX_BUILD_TESTS ON Build/register iKvxx and complete upstream iKv tests
IKVXX_INSTALL ON Generate install rules and CMake package files

Build

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

Targets:

  • ikvxx
  • ikvxx::ikvxx alias for consumers
  • ikv / ikv::ikv underlying C library
  • ikvxx_tests when tests are enabled

Install and consume

cmake --install build --prefix /opt/ikvxx

Consumer project:

find_package(ikvxx 0.1 REQUIRED CONFIG)
target_link_libraries(my_app PRIVATE ikvxx::ikvxx)

Configure with a custom prefix:

cmake -S . -B build -DCMAKE_PREFIX_PATH=/opt/ikvxx

Tests

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

The registered suite contains:

  • 7 separately reported iKvxx groups
  • 74 upstream iKv cases
  • 81 total tests at the current pinned revision

Coverage includes type behavior, all overload families, object/array mutation, malformed input, binary versions, allocation and file-failure hooks, lazy loading, refresh, and the v2 benchmark.

Windows runner

tests\run.bat
tests\run.bat Debug

The script checks for CMake/CTest, configures, builds, enumerates all tests, runs them, and propagates failures.

Continuous integration

.gitea/workflows/bindings.yml runs on ubuntu-latest with:

  • GCC Debug
  • GCC Release
  • Clang Debug
  • Clang Release

Each job checks out submodules, builds, runs all CTest cases, and validates installation.