build(deps): restore support for USE_EXISTING_SRC_DIR (#20491)

59d5f692f removed cmake.deps/cmake/DownloadAndExtractFile.cmake and
support for USE_EXISTING_SRC_DIR.  The Ubuntu nightly PPA still relies
on USE_EXISTING_SRC_DIR functionality since it can't access the network
during the build.

Supplying an empty value for ExternalProject_Add()'s URL value appears
to provide the needed mechanism to avoid re-downloading when the sources
are already present.  This is undocumented behavior, though, so it may
break in the future.

Now, if USE_EXISTING_SRC_DIR is set, the ExternalProject's URL variable
is unset, preventing the download and erroring out if the source doesn't
actually exist.
This commit is contained in:
James McCoy
2022-10-06 09:14:38 -04:00
committed by GitHub
parent 25dea99ce5
commit 61da959bb4
15 changed files with 47 additions and 0 deletions

View File

@@ -42,6 +42,9 @@ set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}")
message(STATUS "Lua target is ${LUA_TARGET}")
if(USE_EXISTING_SRC_DIR)
unset(LUA_URL)
endif()
ExternalProject_Add(lua
URL ${LUA_URL}
URL_HASH SHA256=${LUA_SHA256}