mirror of
https://github.com/nlohmann/json.git
synced 2026-10-06 06:30:31 +00:00
Squashed onto develop from: - Install CMake package config files with Meson - meson: Indent code inside an if block - meson: set a minimum Meson version - meson: use `override_dependency()` to set dependencies - meson: use `install_subdir` for headers - meson: set the C++ standard to C++11 - meson: handle single header and multiheader the same way CMake does - meson: add support for the GlobalUDLs option - meson: add support for the ImplictConversions option - Add meson information to FILES.md - Complete the Meson options and match CMake's compile definitions - Add the JSON_* definitions to the CMake pkg-config file - Document the Meson options and check them in CI - Fix the Meson CMake target for includedir or datadir outside the prefix - Avoid //include in Meson-generated CMake target for prefix / - Add DisableTupleReferenceConversion to Meson and the CMake pkg-config file - Check in CI that Meson and pkg-config offer the CMake options - Remove accidentally committed Python bytecode Co-authored-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Niels Lohmann <mail@nlohmann.me>
check_build_options
Checks that the Meson build and the pkg-config files offer the same options as the CMake target, so that a new CMake option is not forgotten in one of them.
The compile definitions of the CMake target (target_compile_definitions in CMakeLists.txt)
are the reference. When you add an option there, also add it to
- the pkg-config block in
CMakeLists.txt(NLOHMANN_JSON_PKGCONFIG_CFLAGS), meson_options.txt, named without theJSON_prefix and with the same default,meson.build(json_defines), and- the list of Meson options in
docs/mkdocs/docs/integration/package_managers.md.
Run the check with
make check_build_options
It needs only Python 3 and runs in the ci_meson_install CI job.