summaryrefslogtreecommitdiffstats
path: root/Modules/FetchContent
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2021-03-09 21:59:59 (GMT)
committerCraig Scott <craig.scott@crascit.com>2021-03-09 22:07:44 (GMT)
commit57d442e182bcb9a4426912ed7ba68b58c4dcc940 (patch)
tree7f3509df9143f39bc8cb40a1627625aee6632100 /Modules/FetchContent
parent791338359f7a78032209a255d16a613360f5430a (diff)
downloadCMake-57d442e182bcb9a4426912ed7ba68b58c4dcc940.zip
CMake-57d442e182bcb9a4426912ed7ba68b58c4dcc940.tar.gz
CMake-57d442e182bcb9a4426912ed7ba68b58c4dcc940.tar.bz2
Revert ExternalProject and FetchContent refactoring
Refactoring of the ExternalProject and FetchContent modules moved the commands into CMake scripts. This broke custom commands that used shell redirection or special build tool variables of the form $(MakeVar). Undo the sequence of commits that performed this refactoring and follow-up fixes associated with it. The following commits are reverted by this change: 4f3d1abbb4 (ExternalProject: Refactor pre-configure steps to support no-target uses, 2021-02-05) 17e5516e60 (FetchContent: Invoke steps directly and avoid a separate sub-build, 2021-01-29) bd876f3849 (FetchContent: Restore patch command support, 2021-02-18) 404cddb7bb (ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks, 2021-02-21) b0da671243 (FetchContent: Don't update timestamps if files don't change, 2021-02-18) Fixes: #21892
Diffstat (limited to 'Modules/FetchContent')
-rw-r--r--Modules/FetchContent/CMakeLists.cmake.in27
1 files changed, 27 insertions, 0 deletions
diff --git a/Modules/FetchContent/CMakeLists.cmake.in b/Modules/FetchContent/CMakeLists.cmake.in
new file mode 100644
index 0000000..5ebb12f
--- /dev/null
+++ b/Modules/FetchContent/CMakeLists.cmake.in
@@ -0,0 +1,27 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+
+# We name the project and the target for the ExternalProject_Add() call
+# to something that will highlight to the user what we are working on if
+# something goes wrong and an error message is produced.
+
+project(${contentName}-populate NONE)
+
+@__FETCHCONTENT_CACHED_INFO@
+
+include(ExternalProject)
+ExternalProject_Add(${contentName}-populate
+ ${ARG_EXTRA}
+ SOURCE_DIR "${ARG_SOURCE_DIR}"
+ BINARY_DIR "${ARG_BINARY_DIR}"
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ""
+ TEST_COMMAND ""
+ USES_TERMINAL_DOWNLOAD YES
+ USES_TERMINAL_UPDATE YES
+)
+
+@__FETCHCONTENT_COPY_FILE@