summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2023-02-24 06:07:01 (GMT)
committerCraig Scott <craig.scott@crascit.com>2023-02-24 06:07:01 (GMT)
commit31ef93f19ff9c1529024ab5e9b82143b99ef1c70 (patch)
tree26592baa0c0bdf2596fa3cdd1c7eb6edf0bb2542
parent3f41c0a12ad885102ae1bb1ab8cee444ad049040 (diff)
downloadCMake-31ef93f19ff9c1529024ab5e9b82143b99ef1c70.zip
CMake-31ef93f19ff9c1529024ab5e9b82143b99ef1c70.tar.gz
CMake-31ef93f19ff9c1529024ab5e9b82143b99ef1c70.tar.bz2
FetchContent: Only use @-@ replacements for sub-build CMakeLists.txt
There was a mix of ${} and @-@ substitutions in the CMakeLists.txt.in file. It is sometimes useful to temporarily put ${} evaluations there while working on issues, but they get replaced. Using @ONLY leaves them untouched and uses a consistent substitution method for the whole file.
-rw-r--r--Modules/FetchContent.cmake4
-rw-r--r--Modules/FetchContent/CMakeLists.cmake.in12
2 files changed, 9 insertions, 7 deletions
diff --git a/Modules/FetchContent.cmake b/Modules/FetchContent.cmake
index 8afb9bc..153563f 100644
--- a/Modules/FetchContent.cmake
+++ b/Modules/FetchContent.cmake
@@ -1596,7 +1596,9 @@ set_property(GLOBAL PROPERTY _CMAKE_FindGit_GIT_EXECUTABLE_VERSION
# has this set to something not findable on the PATH. We also ensured above
# that the Debug config will be defined for multi-config generators.
configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/FetchContent/CMakeLists.cmake.in"
- "${ARG_SUBBUILD_DIR}/CMakeLists.txt")
+ "${ARG_SUBBUILD_DIR}/CMakeLists.txt"
+ @ONLY
+ )
execute_process(
COMMAND ${CMAKE_COMMAND} ${subCMakeOpts} .
RESULT_VARIABLE result
diff --git a/Modules/FetchContent/CMakeLists.cmake.in b/Modules/FetchContent/CMakeLists.cmake.in
index d94b0f4..aa2ad99 100644
--- a/Modules/FetchContent/CMakeLists.cmake.in
+++ b/Modules/FetchContent/CMakeLists.cmake.in
@@ -1,21 +1,21 @@
# 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})
+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)
+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}"
+ExternalProject_Add(@contentName@-populate
+ @ARG_EXTRA@
+ SOURCE_DIR "@ARG_SOURCE_DIR@"
+ BINARY_DIR "@ARG_BINARY_DIR@"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""