diff options
author | Craig Scott <craig.scott@crascit.com> | 2021-10-04 10:47:12 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2021-10-05 12:41:34 (GMT) |
commit | 1851aa49be01076e0869ce14b22b9a860454bba4 (patch) | |
tree | 932ff1917d20679cc1d6335138d1848881b949f7 /Tests | |
parent | 96937438b74469eea5b0ae46b4e13489ac3faec7 (diff) | |
download | CMake-1851aa49be01076e0869ce14b22b9a860454bba4.zip CMake-1851aa49be01076e0869ce14b22b9a860454bba4.tar.gz CMake-1851aa49be01076e0869ce14b22b9a860454bba4.tar.bz2 |
FetchContent: Pass through networking-related CMAKE_... variables
CMAKE_TLS_VERIFY, CMAKE_TLS_CAINFO, CMAKE_NETRC and
CMAKE_NETRC_FILE are now passed through to the underlying
ExternalProject sub-build. Previously, they were silently ignored.
Fixes: #22144
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/FetchContent/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/FetchContent/VarPassthroughs.cmake | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/Tests/RunCMake/FetchContent/RunCMakeTest.cmake b/Tests/RunCMake/FetchContent/RunCMakeTest.cmake index 9baeab7..e83c45e 100644 --- a/Tests/RunCMake/FetchContent/RunCMakeTest.cmake +++ b/Tests/RunCMake/FetchContent/RunCMakeTest.cmake @@ -9,6 +9,7 @@ run_cmake(DownloadTwice) run_cmake(DownloadFile) run_cmake(SameGenerator) run_cmake(VarDefinitions) +run_cmake(VarPassthroughs) run_cmake(GetProperties) run_cmake(UsesTerminalOverride) run_cmake(MakeAvailable) diff --git a/Tests/RunCMake/FetchContent/VarPassthroughs.cmake b/Tests/RunCMake/FetchContent/VarPassthroughs.cmake new file mode 100644 index 0000000..ad743d8 --- /dev/null +++ b/Tests/RunCMake/FetchContent/VarPassthroughs.cmake @@ -0,0 +1,38 @@ +include(FetchContent) + +set(CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY AAAA) +set(CMAKE_TLS_VERIFY BBBB) +set(CMAKE_TLS_CAINFO CCCC) +set(CMAKE_NETRC DDDD) +set(CMAKE_NETRC_FILE EEEE) + +FetchContent_Declare(PassThrough + DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E echo "Download command executed" +) +FetchContent_Populate(PassThrough) + +set(gen_file ${FETCHCONTENT_BASE_DIR}/passthrough-subbuild/CMakeLists.txt) +if(NOT EXISTS ${gen_file}) + message(FATAL_ERROR "File does not exist: ${gen_file}") +endif() +file(READ ${gen_file} contents) + +if(NOT contents MATCHES "CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY \\[==\\[AAAA\\]==\\]") + message(FATAL_ERROR "Missing CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY") +endif() + +if(NOT contents MATCHES "CMAKE_TLS_VERIFY \\[==\\[BBBB\\]==\\]") + message(FATAL_ERROR "Missing CMAKE_TLS_VERIFY") +endif() + +if(NOT contents MATCHES "CMAKE_TLS_CAINFO \\[==\\[CCCC\\]==\\]") + message(FATAL_ERROR "Missing CMAKE_TLS_CAINFO") +endif() + +if(NOT contents MATCHES "CMAKE_NETRC \\[==\\[DDDD\\]==\\]") + message(FATAL_ERROR "Missing CMAKE_NETRC") +endif() + +if(NOT contents MATCHES "CMAKE_NETRC_FILE \\[==\\[EEEE\\]==\\]") + message(FATAL_ERROR "Missing CMAKE_NETRC_FILE") +endif() |