ソースを参照

ExternalProject: Initialize Git submodules recursively and on update (#16083)

Ilya Kulakov 9 年 前
コミット
79410eeb1f

+ 7 - 0
Help/release/dev/ExternalProject-git-recursive-init.rst

@@ -0,0 +1,7 @@
+ExternalProject-git-recursive-init
+----------------------------------
+
+* The :module:`ExternalProject` module learned to initialize Git submodules
+  recursively and also to initialize new submodules on updates.  Use the
+  ``GIT_SUBMODULES`` option to restrict which submodules are initalized and
+  updated.

+ 2 - 2
Modules/ExternalProject.cmake

@@ -587,7 +587,7 @@ if(error_code)
 endif()
 
 execute_process(
-  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule update --recursive ${git_submodules}
+  COMMAND \"${git_EXECUTABLE}\" \${git_options} submodule update --recursive --init ${git_submodules}
   WORKING_DIRECTORY \"${work_dir}/${src_name}\"
   RESULT_VARIABLE error_code
   )
@@ -833,7 +833,7 @@ if(error_code OR is_remote_ref OR NOT (\"\${tag_sha}\" STREQUAL \"\${head_sha}\"
   endif()
 
   execute_process(
-    COMMAND \"${git_EXECUTABLE}\" submodule update --recursive ${git_submodules}
+    COMMAND \"${git_EXECUTABLE}\" submodule update --recursive --init ${git_submodules}
     WORKING_DIRECTORY \"${work_dir}/${src_name}\"
     RESULT_VARIABLE error_code
     )