diff options
-rw-r--r-- | Modules/ExternalProject.cmake | 4 | ||||
-rw-r--r-- | Modules/ExternalProject/mkdirs.cmake.in | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index 701e5fb..c7948cd 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() diff --git a/Modules/ExternalProject/mkdirs.cmake.in b/Modules/ExternalProject/mkdirs.cmake.in index d30a2e7..bb835cf 100644 --- a/Modules/ExternalProject/mkdirs.cmake.in +++ b/Modules/ExternalProject/mkdirs.cmake.in @@ -17,3 +17,6 @@ set(configSubDirs @CMAKE_CONFIGURATION_TYPES@) foreach(subDir IN LISTS configSubDirs) file(MAKE_DIRECTORY "@stamp_dir@/${subDir}") endforeach() +if(cfgdir) + file(MAKE_DIRECTORY "@stamp_dir@${cfgdir}") # cfgdir has leading slash +endif() |