summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-01-15 18:25:56 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-01-15 18:26:02 (GMT)
commitda566d4de885130e182edc80f13691f5ca24bb61 (patch)
treed16c9d04118115b387758ebcfbcf11a6d0c5822f
parent41b0c0dc739c34550b8e9054b9a88405afb6518d (diff)
parent2119c33b7e7b5fc348c0b4b24e402bcacb18d5db (diff)
downloadCMake-da566d4de885130e182edc80f13691f5ca24bb61.zip
CMake-da566d4de885130e182edc80f13691f5ca24bb61.tar.gz
CMake-da566d4de885130e182edc80f13691f5ca24bb61.tar.bz2
Merge topic 'fetchcontent-uses-terminal'
2119c33b7e FetchContent: Give access to the terminal for download and update Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Hirsch, Ph.D. <michael@scivision.co> Merge-request: !2800
-rw-r--r--Modules/FetchContent.cmake7
-rw-r--r--Modules/FetchContent/CMakeLists.cmake.in2
-rw-r--r--Tests/RunCMake/FetchContent/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/FetchContent/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/FetchContent/UsesTerminalOverride-stdout.txt2
-rw-r--r--Tests/RunCMake/FetchContent/UsesTerminalOverride.cmake17
6 files changed, 33 insertions, 0 deletions
diff --git a/Modules/FetchContent.cmake b/Modules/FetchContent.cmake
index 98cdf6c..c65ae9e 100644
--- a/Modules/FetchContent.cmake
+++ b/Modules/FetchContent.cmake
@@ -691,6 +691,13 @@ function(__FetchContent_directPopulate contentName)
BUILD_COMMAND
INSTALL_COMMAND
TEST_COMMAND
+ # We force both of these to be ON since we are always executing serially
+ # and we want all steps to have access to the terminal in case they
+ # need input from the command line (e.g. ask for a private key password)
+ # or they want to provide timely progress. We silently absorb and
+ # discard these if they are set by the caller.
+ USES_TERMINAL_DOWNLOAD
+ USES_TERMINAL_UPDATE
)
set(multiValueArgs "")
diff --git a/Modules/FetchContent/CMakeLists.cmake.in b/Modules/FetchContent/CMakeLists.cmake.in
index 9a7a771..0095b11 100644
--- a/Modules/FetchContent/CMakeLists.cmake.in
+++ b/Modules/FetchContent/CMakeLists.cmake.in
@@ -18,4 +18,6 @@ ExternalProject_Add(${contentName}-populate
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
+ USES_TERMINAL_DOWNLOAD YES
+ USES_TERMINAL_UPDATE YES
)
diff --git a/Tests/RunCMake/FetchContent/CMakeLists.txt b/Tests/RunCMake/FetchContent/CMakeLists.txt
index d3137f6..3cc2e43 100644
--- a/Tests/RunCMake/FetchContent/CMakeLists.txt
+++ b/Tests/RunCMake/FetchContent/CMakeLists.txt
@@ -1,3 +1,7 @@
cmake_minimum_required(VERSION 3.9)
project(${RunCMake_TEST} NONE)
+
+# Tests assume no previous downloads in the output directory
+file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/_deps)
+
include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/FetchContent/RunCMakeTest.cmake b/Tests/RunCMake/FetchContent/RunCMakeTest.cmake
index 621fb8b..9c1ab66 100644
--- a/Tests/RunCMake/FetchContent/RunCMakeTest.cmake
+++ b/Tests/RunCMake/FetchContent/RunCMakeTest.cmake
@@ -10,6 +10,7 @@ run_cmake(SameGenerator)
run_cmake(VarDefinitions)
run_cmake(GetProperties)
run_cmake(DirOverrides)
+run_cmake(UsesTerminalOverride)
# We need to pass through CMAKE_GENERATOR and CMAKE_MAKE_PROGRAM
# to ensure the test can run on machines where the build tool
diff --git a/Tests/RunCMake/FetchContent/UsesTerminalOverride-stdout.txt b/Tests/RunCMake/FetchContent/UsesTerminalOverride-stdout.txt
new file mode 100644
index 0000000..3718d64
--- /dev/null
+++ b/Tests/RunCMake/FetchContent/UsesTerminalOverride-stdout.txt
@@ -0,0 +1,2 @@
+Logged from t1 download step
++.*Logged from t2 download step
diff --git a/Tests/RunCMake/FetchContent/UsesTerminalOverride.cmake b/Tests/RunCMake/FetchContent/UsesTerminalOverride.cmake
new file mode 100644
index 0000000..99d9719
--- /dev/null
+++ b/Tests/RunCMake/FetchContent/UsesTerminalOverride.cmake
@@ -0,0 +1,17 @@
+include(FetchContent)
+
+set(FETCHCONTENT_QUIET NO)
+
+FetchContent_Declare(
+ t1
+ DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E echo "Logged from t1 download step"
+ USES_TERMINAL_DOWNLOAD NO
+
+)
+FetchContent_Populate(t1)
+
+FetchContent_Populate(
+ t2
+ DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E echo "Logged from t2 download step"
+ USES_TERMINAL_DOWNLOAD NO
+)
a>18889logstatsplain -rw-r--r--H5Adense.c81126logstatsplain -rw-r--r--H5Adeprec.c17374logstatsplain -rw-r--r--H5Aint.c109898logstatsplain -rw-r--r--H5Amodule.h19746logstatsplain -rw-r--r--H5Apkg.h13426logstatsplain -rw-r--r--H5Aprivate.h3404logstatsplain -rw-r--r--H5Apublic.h47940logstatsplain -rw-r--r--H5Atest.c4766logstatsplain -rw-r--r--H5B.c81727logstatsplain -rw-r--r--H5B2.c62844logstatsplain -rw-r--r--H5B2cache.c49001logstatsplain -rw-r--r--H5B2dbg.c13360logstatsplain -rw-r--r--H5B2hdr.c24866logstatsplain -rw-r--r--H5B2int.c96179logstatsplain -rw-r--r--H5B2internal.c64392logstatsplain -rw-r--r--H5B2leaf.c40890logstatsplain -rw-r--r--H5B2module.h1375logstatsplain -rw-r--r--H5B2pkg.h25833logstatsplain -rw-r--r--H5B2private.h7976logstatsplain -rw-r--r--H5B2stat.c3990logstatsplain -rw-r--r--H5B2test.c21461logstatsplain -rw-r--r--H5Bcache.c13119logstatsplain -rw-r--r--H5Bdbg.c10450logstatsplain -rw-r--r--H5Bmodule.h1368logstatsplain -rw-r--r--H5Bpkg.h3544logstatsplain -rw-r--r--H5Bprivate.h7424logstatsplain -rw-r--r--H5C.c358902logstatsplain -rw-r--r--H5CS.c10393logstatsplain -rw-r--r--H5CSprivate.h1405logstatsplain -rw-r--r--H5CX.c143023logstatsplain -rw-r--r--H5CXmodule.h1374logstatsplain -rw-r--r--H5CXprivate.h8637logstatsplain -rw-r--r--H5Cdbg.c48542logstatsplain -rw-r--r--H5Cepoch.c8840logstatsplain -rw-r--r--H5Cimage.c139665logstatsplain -rw-r--r--H5Clog.c30061logstatsplain -rw-r--r--H5Clog.h8555logstatsplain -rw-r--r--H5Clog_json.c43591logstatsplain -rw-r--r--H5Clog_trace.c37063logstatsplain -rw-r--r--H5Cmodule.h1368logstatsplain -rw-r--r--H5Cmpio.c60392logstatsplain -rw-r--r--H5Cpkg.h287081logstatsplain -rw-r--r--H5Cprefetched.c13012logstatsplain -rw-r--r--H5Cprivate.h107356logstatsplain -rw-r--r--H5Cpublic.h2240logstatsplain -rw-r--r--H5Cquery.c13960logstatsplain -rw-r--r--H5Ctag.c30474logstatsplain -rw-r--r--H5Ctest.c5487logstatsplain -rw-r--r--H5D.c113325logstatsplain -rw-r--r--H5Dbtree.c54124logstatsplain -rw-r--r--H5Dbtree2.c55526logstatsplain -rw-r--r--H5Dchunk.c373244logstatsplain -rw-r--r--H5Dcompact.c28412logstatsplain -rw-r--r--H5Dcontig.c81699logstatsplain -rw-r--r--H5Ddbg.c3018logstatsplain -rw-r--r--H5Ddeprec.c14375logstatsplain -rw-r--r--H5Dearray.c66963logstatsplain -rw-r--r--H5Defl.c22214logstatsplain -rw-r--r--H5Dfarray.c59525logstatsplain -rw-r--r--H5Dfill.c28323logstatsplain -rw-r--r--H5Dint.c174657logstatsplain -rw-r--r--H5Dio.c61757logstatsplain -rw-r--r--H5Dlayout.c28978logstatsplain -rw-r--r--H5Dmodule.h119761logstatsplain -rw-r--r--H5Dmpio.c273981logstatsplain -rw-r--r--H5Dnone.c16225logstatsplain -rw-r--r--H5Doh.c16593logstatsplain -rw-r--r--H5Dpkg.h44460logstatsplain -rw-r--r--H5Dprivate.h10062logstatsplain -rw-r--r--H5Dpublic.h77852logstatsplain -rw-r--r--H5Dscatgath.c40691logstatsplain -rw-r--r--H5Dselect.c22977logstatsplain -rw-r--r--H5Dsingle.c17923logstatsplain -rw-r--r--H5Dtest.c9959logstatsplain -rw-r--r--H5Dvirtual.c154270logstatsplain -rw-r--r--H5E.c63226logstatsplain -rw-r--r--H5EA.c42051logstatsplain -rw-r--r--H5EAcache.c87153logstatsplain -rw-r--r--H5EAdbg.c19368logstatsplain -rw-r--r--H5EAdblkpage.c12232logstatsplain -rw-r--r--H5EAdblock.c17420logstatsplain -rw-r--r--H5EAhdr.c29751logstatsplain -rw-r--r--H5EAiblock.c18805logstatsplain -rw-r--r--H5EAint.c3952logstatsplain -rw-r--r--H5EAmodule.h1376logstatsplain -rw-r--r--H5EApkg.h27307logstatsplain -rw-r--r--H5EAprivate.h7039logstatsplain -rw-r--r--H5EAsblock.c16719logstatsplain -rw-r--r--H5EAstat.c2785logstatsplain -rw-r--r--H5EAtest.c15066logstatsplain -rw-r--r--H5ES.c24055logstatsplain -rw-r--r--H5ESdevelop.h1711logstatsplain -rw-r--r--H5ESevent.c6097logstatsplain -rw-r--r--H5ESint.c37805logstatsplain -rw-r--r--H5ESlist.c6409logstatsplain -rw-r--r--H5ESmodule.h5579logstatsplain -rw-r--r--H5ESpkg.h4464logstatsplain -rw-r--r--H5ESprivate.h2101logstatsplain -rw-r--r--H5ESpublic.h11346logstatsplain -rw-r--r--H5Edeprec.c14638logstatsplain -rw-r--r--H5Eint.c34872logstatsplain -rw-r--r--H5Emodule.h26773logstatsplain -rw-r--r--H5Epkg.h5562logstatsplain -rw-r--r--H5Eprivate.h11974logstatsplain -rw-r--r--H5Epublic.h39771logstatsplain -rw-r--r--H5F.c117928logstatsplain -rw-r--r--H5FA.c28702logstatsplain -rw-r--r--H5FAcache.c48126logstatsplain -rw-r--r--H5FAdbg.c11904logstatsplain -rw-r--r--H5FAdblkpage.c12404logstatsplain -rw-r--r--H5FAdblock.c16840logstatsplain -rw-r--r--H5FAhdr.c18907logstatsplain -rw-r--r--H5FAint.c3995logstatsplain -rw-r--r--H5FAmodule.h1376logstatsplain -rw-r--r--H5FApkg.h16701logstatsplain -rw-r--r--H5FAprivate.h6099logstatsplain -rw-r--r--H5FAstat.c2924logstatsplain -rw-r--r--H5FAtest.c12269logstatsplain -rw-r--r--H5FD.c85366logstatsplain -rw-r--r--H5FDcore.c68933logstatsplain -rw-r--r--H5FDcore.h3919logstatsplain -rw-r--r--H5FDdevelop.h15129logstatsplain -rw-r--r--H5FDdirect.c52895logstatsplain -rw-r--r--H5FDdirect.h4304logstatsplain -rw-r--r--H5FDdrvr_module.h1383logstatsplain