diff --git a/README.md b/README.md index a9a6b7d1b..b8a143c15 100644 --- a/README.md +++ b/README.md @@ -1185,15 +1185,15 @@ target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) Since CMake v3.11, [FetchContent](https://cmake.org/cmake/help/v3.11/module/FetchContent.html) can -be used to automatically download the repository as a dependency at configure time. +be used to automatically download a release as a dependency at configure time. Example: ```cmake include(FetchContent) FetchContent_Declare(json - GIT_REPOSITORY https://github.com/nlohmann/json.git - GIT_TAG v3.7.3) + URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz +) FetchContent_GetProperties(json) if(NOT json_POPULATED) @@ -1204,10 +1204,8 @@ endif() target_link_libraries(foo PRIVATE nlohmann_json::nlohmann_json) ``` -**Note**: The repository https://github.com/nlohmann/json download size is huge. -It contains all the dataset used for the benchmarks. You might want to depend on -a smaller repository. For instance, you might want to replace the URL above by -https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent +**Note**: It is recommended to use the URL approach described above which is supported as of version 3.10.0. See + for more information. #### Supporting Both diff --git a/doc/mkdocs/docs/integration/cmake.md b/doc/mkdocs/docs/integration/cmake.md index 44aeb26e1..dbb8c2d66 100644 --- a/doc/mkdocs/docs/integration/cmake.md +++ b/doc/mkdocs/docs/integration/cmake.md @@ -90,7 +90,7 @@ to the following. ### FetchContent Since CMake v3.11, [FetchContent](https://cmake.org/cmake/help/v3.11/module/FetchContent.html) can be used to -automatically download the repository as a dependency at configure type. +automatically download a release as a dependency at configure type. !!! example @@ -101,8 +101,7 @@ automatically download the repository as a dependency at configure type. include(FetchContent) FetchContent_Declare(json - GIT_REPOSITORY https://github.com/nlohmann/json - GIT_TAG v3.10.5 + URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz ) FetchContent_GetProperties(json) @@ -117,8 +116,18 @@ automatically download the repository as a dependency at configure type. !!! Note - The repository download size is quite large. You might want to depend on a - smaller repository. For instance, you might want to replace the URL in the example by + It is recommended to use the URL approach described above which is supported as of version 3.10.0. It is also + possible to pass the Git repository like + + ```cmake + FetchContent_Declare(json + GIT_REPOSITORY https://github.com/nlohmann/json + GIT_TAG v3.10.5 + ) + ``` + + However, the repository download size is quite large. You might want to depend on + a smaller repository. For instance, you might want to replace the URL in the example by . ## CMake Options