ExternalProject: Stop configure target from always appearing out-of-date

When updates are disconnected, don't depend on skip-update because that
target is always considered out of date. Depend directly on the patch target
instead because it already depends on the appropriate target regardless of
whether updates are disconnected or not. This in turn means nothing depends
on the skip-update target, so it has also been removed.

Relates: #21086
This commit is contained in:
Craig Scott
2020-08-18 23:24:17 +10:00
parent c0b7198ad9
commit 715324742f

View File

@@ -747,7 +747,7 @@ control needed to implement such step-level capabilities.
``<name>`` is the same as the name passed to the original call to
:command:`ExternalProject_Add`. The specified ``<step>`` must not be one of
the pre-defined steps (``mkdir``, ``download``, ``update``, ``skip-update``,
the pre-defined steps (``mkdir``, ``download``, ``update``,
``patch``, ``configure``, ``build``, ``install`` or ``test``). The supported
options are:
@@ -2762,21 +2762,6 @@ Update to Mercurial >= 2.1.1.
)"
)
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 ${always}
EXCLUDE_FROM_MAIN 1
WORKING_DIRECTORY ${work_dir}
DEPENDEES download
${log}
${uses_terminal}
)
set_property(SOURCE ${skip-update_stamp_file} PROPERTY SYMBOLIC 1)
endif()
endfunction()
@@ -2970,13 +2955,6 @@ function(_ep_add_configure_command name)
set(uses_terminal "")
endif()
_ep_get_update_disconnected(update_disconnected ${name})
if(update_disconnected)
set(update_dep skip-update)
else()
set(update_dep update)
endif()
set(__cmdQuoted)
foreach(__item IN LISTS cmd)
string(APPEND __cmdQuoted " [==[${__item}]==]")
@@ -2985,7 +2963,7 @@ function(_ep_add_configure_command name)
ExternalProject_Add_Step(${name} configure
COMMAND ${__cmdQuoted}
WORKING_DIRECTORY \${binary_dir}
DEPENDEES \${update_dep} patch
DEPENDEES patch
DEPENDS \${file_deps}
${log}
${uses_terminal}