Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alchemy
Mirrors
ModernJson
Commits
c6d8892e
Unverified
Commit
c6d8892e
authored
Mar 06, 2022
by
Niels Lohmann
Committed by
GitHub
Mar 06, 2022
Browse files
FetchContent_MakeAvailable (#3351)
*
🔧
use FetchContent_MakeAvailable *
💚
fix test names
parent
d1e57df4
Changes
6
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
c6d8892e
...
...
@@ -1191,15 +1191,8 @@ Example:
```
cmake
include
(
FetchContent
)
FetchContent_Declare
(
json
URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz
)
FetchContent_GetProperties
(
json
)
if
(
NOT json_POPULATED
)
FetchContent_Populate
(
json
)
add_subdirectory
(
${
json_SOURCE_DIR
}
${
json_BINARY_DIR
}
EXCLUDE_FROM_ALL
)
endif
()
FetchContent_Declare
(
json URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz
)
FetchContent_MakeAvailable
(
json
)
target_link_libraries
(
foo PRIVATE nlohmann_json::nlohmann_json
)
```
...
...
doc/mkdocs/docs/integration/cmake.md
View file @
c6d8892e
...
...
@@ -100,15 +100,8 @@ automatically download a release as a dependency at configure type.
include(FetchContent)
FetchContent_Declare(json
URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz
)
FetchContent_GetProperties(json)
if(NOT json_POPULATED)
FetchContent_Populate(json)
add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz)
FetchContent_MakeAvailable(json)
add_executable(example example.cpp)
target_link_libraries(example PRIVATE nlohmann_json::nlohmann_json)
...
...
test/CMakeLists.txt
View file @
c6d8892e
...
...
@@ -170,4 +170,5 @@ endif()
add_subdirectory
(
cmake_add_subdirectory
)
add_subdirectory
(
cmake_fetch_content
)
add_subdirectory
(
cmake_fetch_content2
)
add_subdirectory
(
cmake_target_include_directories
)
test/cmake_fetch_content2/CMakeLists.txt
0 → 100644
View file @
c6d8892e
if
(
${
CMAKE_VERSION
}
VERSION_GREATER
"3.14.0"
)
add_test
(
NAME cmake_fetch_content2_configure
COMMAND
${
CMAKE_COMMAND
}
-G
"
${
CMAKE_GENERATOR
}
"
-DCMAKE_CXX_COMPILER=
${
CMAKE_CXX_COMPILER
}
-Dnlohmann_json_source=
${
PROJECT_SOURCE_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/project
)
add_test
(
NAME cmake_fetch_content2_build
COMMAND
${
CMAKE_COMMAND
}
--build .
)
set_tests_properties
(
cmake_fetch_content2_configure PROPERTIES
FIXTURES_SETUP cmake_fetch_content2
LABELS
"git_required;not_reproducible"
)
set_tests_properties
(
cmake_fetch_content2_build PROPERTIES
FIXTURES_REQUIRED cmake_fetch_content2
LABELS
"git_required;not_reproducible"
)
endif
()
test/cmake_fetch_content2/project/CMakeLists.txt
0 → 100644
View file @
c6d8892e
cmake_minimum_required
(
VERSION 3.14
)
project
(
DummyImport CXX
)
include
(
FetchContent
)
get_filename_component
(
GIT_REPOSITORY_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../.. ABSOLUTE
)
FetchContent_Declare
(
json GIT_REPOSITORY
${
GIT_REPOSITORY_DIRECTORY
}
GIT_TAG HEAD
)
FetchContent_MakeAvailable
(
json
)
add_executable
(
with_namespace_target main.cpp
)
target_link_libraries
(
with_namespace_target nlohmann_json::nlohmann_json
)
add_executable
(
without_namespace_target main.cpp
)
target_link_libraries
(
without_namespace_target nlohmann_json
)
test/cmake_fetch_content2/project/main.cpp
0 → 100644
View file @
c6d8892e
#include
<nlohmann/json.hpp>
int
main
(
int
argc
,
char
**
argv
)
{
nlohmann
::
json
j
;
return
0
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment