diff options
author | Craig Scott <craig.scott@crascit.com> | 2023-02-25 22:16:15 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-02-25 22:16:37 (GMT) |
commit | 57f09a818cabf5a9eb00a8269f5d42e65f0af625 (patch) | |
tree | 7dd21e85bc6b82ec0b3c82d50193b84a8c1a87f3 /Modules | |
parent | 85c77f059b11e6ae56b9212b0a469eaf7768395d (diff) | |
parent | c15674a9cb0f8c6d432a52ac6fb724cc85f68034 (diff) | |
download | CMake-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.cmake | 4 | ||||
-rw-r--r-- | Modules/FetchContent/CMakeLists.cmake.in | 18 |
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 "" |