mirror of
https://github.com/marzer/tomlplusplus.git
synced 2024-11-02 02:26:28 +00:00
36030cace8
When building tests, Meson will now look for system dependencies and use them if found. Otherwise, it will check if the submodules are cloned and create a dependency object wrapping the include path of each external dependency (this breaks Meson's sandbox, but the previous approach did too). This also allows passing actual dependencies to the various build targets instead of include paths (a bit more idiomatic). I've also made it possible to skip the tl-optional tests when the lib is not found, so that it is still possible to run tests even from a tarball (i.e. no git checkout) |
||
---|---|---|
.. | ||
meson.build | ||
README.md | ||
tt_decoder.cpp | ||
tt_decoder.vcxproj | ||
tt_encoder.cpp | ||
tt_encoder.vcxproj | ||
tt.h |
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:
- Follow the installation instructions from the toml-test README to compile the
toml-test
runner - Add
toml-test
as an alias or have it on the system PATH - Clone the toml++ repository's nlohmann/json submodule:
git submodule update --init --depth 1 external/json
- Linux only: Install
ninja
andmeson
:
sudo apt update && sudo apt install -y locales 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_encoder=true -Dbuild_tt_decoder=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