tomlplusplus/toml-test
2023-01-22 22:26:45 +02:00
..
meson.build build system overhaul 2023-01-22 22:02:20 +02:00
README.md build system overhaul 2023-01-22 22:02:20 +02:00
tt_decoder.cpp fixed inline tables being mutable through table headers (closes #131) 2022-01-05 16:56:08 +02:00
tt_decoder.vcxproj fixed incorrect unicode scalar sequence transformations (#125) 2022-01-04 23:58:22 +02:00
tt_encoder.cpp fixed inline tables being mutable through table headers (closes #131) 2022-01-05 16:56:08 +02:00
tt_encoder.vcxproj fixed incorrect unicode scalar sequence transformations (#125) 2022-01-04 23:58:22 +02:00
tt.h fix toml-test in ci 2023-01-22 22:26:45 +02:00

Encoder and Decoder for toml-test

The contents of this directory relate to testing with the toml-test suite, not anything to do with running the library's unit-tests. For information about running the unit-tests see CONTRIBUTING.

All command snippets in this document assume the working directory is the toml++ repository root.


Prequisites

For this document to make sense, you will need to:

  1. Follow the installation instructions from the toml-test README to compile the toml-test runner
  2. Add toml-test as an alias or have it on the system PATH
  3. Linux only: Install ninja and meson:
sudo apt update && sudo apt install -y python3 python3-pip ninja-build
sudo pip3 install meson

Building and Testing the Encoder and Decoder

Windows with Visual Studio

Open toml++.sln and build the two projects in the toml-test solution folder. They'll be compiled in some target-specific subfolder under /bin in the repo root. Then run toml-test against them:

toml-test ./bin/win64_vc143_Release_Application/tt_decoder.exe
toml-test ./bin/win64_vc143_Release_Application/tt_encoder.exe --encoder

Linux (and WSL)

# create the meson build target folder (first time only)
meson build_tt --buildtype=release -Dbuild_tt=true -Dgenerate_cmake_config=false

# build and run
cd build_tt
ninja && toml-test ./toml-test/tt_decoder && toml-test ./toml-test/tt_encoder --encoder

Pass -Duse_vendored_libs=false to meson if you wish to use the system-installed version of nlohmann/json rather than the vendored one.