summaryrefslogtreecommitdiff
path: root/Modules/ExternalProject.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-06-21 16:11:48 -0400
committerBrad King <brad.king@kitware.com>2022-06-21 18:26:22 -0400
commit7b622f3e806d6e655aab10de87dff7be201cd1c4 (patch)
tree48452a4de956cdea24b91e3192080b2e48058010 /Modules/ExternalProject.cmake
parent27874273061fa74d3bcc860769fb1eae42eba0fe (diff)
downloadcmake-7b622f3e806d6e655aab10de87dff7be201cd1c4.tar.gz
ExternalProject: Fix regression in stamp creation for Xcode+iOS
The change to `_ep_add_mkdir_command` in commit 5fbac2bb24 (ExternalProject: Move inline scripts to separate files, 2022-01-22, v3.23.0-rc1~101^2) did not account for the possibility that `CMAKE_CFG_INTDIR` is `$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` instead of just the configuration name. Pass the value into the helper script on the command line so that the native buildsystem placeholders are evaluated. Fixes: #23645
Diffstat (limited to 'Modules/ExternalProject.cmake')
-rw-r--r--Modules/ExternalProject.cmake4
1 files changed, 3 insertions, 1 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 701e5fb4f7..c7948cddfa 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1669,6 +1669,7 @@ function(_ep_set_directories name)
${script_filename}
@ONLY
)
+ unset(cfgdir) # do not leak into mkdirs.cmake script
include(${script_filename})
endfunction()
@@ -2624,11 +2625,12 @@ endfunction()
function(_ep_add_mkdir_command name)
ExternalProject_Get_Property(${name} tmp_dir)
set(script_filename "${tmp_dir}/${name}-mkdirs.cmake")
+ _ep_get_configuration_subdir_genex(cfgdir)
ExternalProject_Add_Step(${name} mkdir
INDEPENDENT TRUE
COMMENT "Creating directories for '${name}'"
- COMMAND ${CMAKE_COMMAND} -P ${script_filename}
+ COMMAND ${CMAKE_COMMAND} -Dcfgdir=${cfgdir} -P ${script_filename}
)
endfunction()