summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-05-18 18:40:33 (GMT)
committerBrad King <brad.king@kitware.com>2016-05-18 18:54:25 (GMT)
commitbdca68388bd57f8302d3c1d83d691034b7ffa70c (patch)
tree20f34ad26c73dbc68f43ac7891d2be769df091f1 /Modules
parent4f17baccadf5f1c74ac2bbcdf07b020d2f9df628 (diff)
downloadCMake-bdca68388bd57f8302d3c1d83d691034b7ffa70c.zip
CMake-bdca68388bd57f8302d3c1d83d691034b7ffa70c.tar.gz
CMake-bdca68388bd57f8302d3c1d83d691034b7ffa70c.tar.bz2
ExternalProject: Always run update step with non-empty UPDATE_COMMAND
The purpose of the `update` step is to run an update on each build (subject to `UPDATE_DISCONNECTED`). This is done for version-controlled source directories. We should do it for a custom `UPDATE_COMMAND` too. In particular, when `UPDATE_DISCONNECTED` is used we expect the `skip-update` step to exist.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/ExternalProject.cmake3
1 files changed, 3 insertions, 0 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 7dad6e5..ec846b9 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -2030,6 +2030,9 @@ function(_ep_add_update_command name)
if(cmd_set)
set(work_dir ${source_dir})
+ if(NOT "x${cmd}" STREQUAL "x")
+ set(always 1)
+ endif()
elseif(cvs_repository)
if(NOT CVS_EXECUTABLE)
message(FATAL_ERROR "error: could not find cvs for update of ${name}")