summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-11-14 15:44:04 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-15 13:45:04 (GMT)
commit4deaa25f46bbe021648d837a936be64117922157 (patch)
tree79be395a84a8183e01d9e84da7f9b7ed809e3696
parent4a4be0301bd9c6062738e87892cbe5bd8d900a49 (diff)
downloadCMake-4deaa25f46bbe021648d837a936be64117922157.zip
CMake-4deaa25f46bbe021648d837a936be64117922157.tar.gz
CMake-4deaa25f46bbe021648d837a936be64117922157.tar.bz2
ExternalProject: Fix UPDATE_DISCONNECTED with empty update steps
When `UPDATE_DISCONNECTED` is enabled the post-update steps unconditionally depend on a `skip-update` step instead of `update`. Make `skip-update` available whenever `UPDATE_DISCONNECTED` is enabled, whether there is a real update step or not. Closes: #16428
-rw-r--r--Modules/ExternalProject.cmake4
-rw-r--r--Tests/ExternalProjectLocal/CMakeLists.txt1
2 files changed, 3 insertions, 2 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 1ba4a8f..b15b3f7 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -2165,12 +2165,12 @@ Update to Mercurial >= 2.1.1.
${uses_terminal}
)
- if(always AND update_disconnected)
+ if(update_disconnected)
_ep_get_step_stampfile(${name} skip-update skip-update_stamp_file)
string(REPLACE "Performing" "Skipping" comment "${comment}")
ExternalProject_Add_Step(${name} skip-update
COMMENT ${comment}
- ALWAYS 1
+ ALWAYS ${always}
EXCLUDE_FROM_MAIN 1
WORKING_DIRECTORY ${work_dir}
DEPENDEES download
diff --git a/Tests/ExternalProjectLocal/CMakeLists.txt b/Tests/ExternalProjectLocal/CMakeLists.txt
index 17f1630..5b94163 100644
--- a/Tests/ExternalProjectLocal/CMakeLists.txt
+++ b/Tests/ExternalProjectLocal/CMakeLists.txt
@@ -131,6 +131,7 @@ ExternalProject_Add(${proj}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -G ${CMAKE_GENERATOR} <SOURCE_DIR>
INSTALL_COMMAND ""
LOG_BUILD 1
+ UPDATE_DISCONNECTED 1
)
set_property(TARGET ${proj} PROPERTY FOLDER "Local/TGZ")