The C++ Alpha binding is header-only and keeps the v0.1-compatible root
libLogit.h available for existing users. New installed consumers should prefer
the public include wrapper and CMake target:
#include <liblogit/logit.hpp>
find_package(libLogit CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE libLogit::cpp)
| Path | Purpose |
|---|---|
libLogit.h |
Compatibility and source-vendoring header for current C++ users. |
include/liblogit/logit.hpp |
Preferred installed include wrapper. |
include/liblogit/cpp/libLogit.h |
Compatibility include path under the installed include tree. |
languages/cpp/test_logit.cpp |
C++ direct, config, JSON, and shared-fixture verification. |
examples/cpp/basic.cpp |
Direct and config-loaded quick start. |
CMakeLists.txt |
Defines libLogit::cpp as an interface target. |
Existing vendored users can keep:
#include "libLogit.h"
When moving to an installed package, change the include and link the exported target:
#include <liblogit/logit.hpp>
No namespace or object-model change is required. liblogit::LOGIT,
liblogit::Level, LOGIT::load_from_file(...), and object-bound streaming keep
the same semantics.
Config loading uses nlohmann/json.hpp. The local Alpha verifier uses the
vcpkg package and the generated CMake package config calls
find_dependency(nlohmann_json CONFIG) for installed consumers.
The local Alpha verifier checks the source-tree and installed-consumer paths:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\verify-alpha.ps1
That matrix builds C++ tests and examples, runs shared fixtures, installs the
CMake package, and builds a consumer with find_package(libLogit CONFIG
REQUIRED) linked against libLogit::cpp.