Github issue: https://github.com/nlohmann/json/issues/2073 nlohmann::json documents 2 way of depending on it using CMake 1) Copy-paste the project/source into your own project. 2) Install nlohman::json and then use find_package. (1) pollutes your git repository, (2) requires everyone to install the dependencies themselves. Since 2018, CMake provide some kind of 'package manager' features using [FetchContent](https://cmake.org/cmake/help/v3.17/module/FetchContent.html) It gives the following: ~~~cmake include(FetchContent) FetchContent_Declare(json GIT_REPOSITORY https://github.com/nlohmann/json GIT_TAG v3.7.3) FetchContent_GetProperties(json) if(NOT json_POPULATED) FetchContent_Populate(json) add_subdirectory( ${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL) endif() ~~~ Then declares the dependency in the target using it: ~~~cmake target_link_library(my_project PRIVATE nlohmann_json::nlohmann_json ~~~ This patch updates the documentation and provides tests.
| Name |
Last commit
|
Last update |
|---|---|---|
| .circleci | Loading commit data... | |
| .github | Loading commit data... | |
| benchmarks | Loading commit data... | |
| cmake | Loading commit data... | |
| doc | Loading commit data... | |
| include/nlohmann | Loading commit data... | |
| single_include/nlohmann | Loading commit data... | |
| test | Loading commit data... | |
| third_party | Loading commit data... | |
| .clang-tidy | Loading commit data... | |
| .doozer.json | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .travis.yml | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CODE_OF_CONDUCT.md | Loading commit data... | |
| ChangeLog.md | Loading commit data... | |
| LICENSE.MIT | Loading commit data... | |
| Makefile | Loading commit data... | |
| README.md | Loading commit data... | |
| appveyor.yml | Loading commit data... | |
| meson.build | Loading commit data... | |
| nlohmann_json.natvis | Loading commit data... | |
| wsjcpp.yml | Loading commit data... |