summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2023-02-25 22:16:15 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-02-25 22:16:37 (GMT)
commit57f09a818cabf5a9eb00a8269f5d42e65f0af625 (patch)
tree7dd21e85bc6b82ec0b3c82d50193b84a8c1a87f3 /Modules
parent85c77f059b11e6ae56b9212b0a469eaf7768395d (diff)
parentc15674a9cb0f8c6d432a52ac6fb724cc85f68034 (diff)
downloadCMake-57f09a818cabf5a9eb00a8269f5d42e65f0af625.zip
CMake-57f09a818cabf5a9eb00a8269f5d42e65f0af625.tar.gz
CMake-57f09a818cabf5a9eb00a8269f5d42e65f0af625.tar.bz2
Merge topic 'fetchcontent-reject-CMAKE_TOOLCHAIN_FILE-env-var'
c15674a9cb FetchContent: Reject CMAKE_TOOLCHAIN_FILE env var in sub-build 31ef93f19f FetchContent: Only use @-@ replacements for sub-build CMakeLists.txt Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8248
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FetchContent.cmake4
-rw-r--r--Modules/FetchContent/CMakeLists.cmake.in18
2 files changed, 15 insertions, 7 deletions
diff --git a/Modules/FetchContent.cmake b/Modules/FetchContent.cmake
index a6250cc..dd5f617 100644
--- a/Modules/FetchContent.cmake
+++ b/Modules/FetchContent.cmake
@@ -1598,7 +1598,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..8adb533 100644
--- a/Modules/FetchContent/CMakeLists.cmake.in
+++ b/Modules/FetchContent/CMakeLists.cmake.in
@@ -1,21 +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})
+cmake_minimum_required(VERSION @CMAKE_VERSION@)
+
+# Reject any attempt to use a toolchain file. We must not use one because
+# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment
+# variable is set, the cache variable will have been initialized from it.
+unset(CMAKE_TOOLCHAIN_FILE CACHE)
+unset(ENV{CMAKE_TOOLCHAIN_FILE})
# 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 ""