Просмотр исходного кода

Merge topic 'revert-ExternalProject-download-byproducts' into release-3.28

fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs

Acked-by: Kitware Robot <[email protected]>
Merge-request: !9097
Brad King 1 год назад
Родитель
Сommit
cab0ec1f75
2 измененных файлов с 5 добавлено и 15 удалено
  1. 0 6
      Help/release/3.28.rst
  2. 5 9
      Modules/ExternalProject.cmake

+ 0 - 6
Help/release/3.28.rst

@@ -116,12 +116,6 @@ Modules
   Additionally, the :command:`ExternalProject_Add_Step` command
   has been updated to support the new ``JOB_SERVER_AWARE`` option.
 
-* The :module:`ExternalProject` module now declares ``BYPRODUCTS`` for the
-  downloaded file for generated ``download`` steps. Previously, if multiple
-  external projects downloaded to the same file, hash verification could fail.
-  Now, when using the :ref:`Ninja Generators`, this scenario is detected and
-  Ninja will raise an error stating that multiple rules generate the same file.
-
 * The :module:`FetchContent` module's :command:`FetchContent_Declare` command
   gained an ``EXCLUDE_FROM_ALL`` option, which propagates through to the
   :command:`add_subdirectory` call made by

+ 5 - 9
Modules/ExternalProject.cmake

@@ -2825,7 +2825,6 @@ function(_ep_add_download_command name)
   set(comment)
   set(work_dir)
   set(extra_repo_info)
-  set(byproduct_file)
 
   if(cmd_set)
     set(work_dir ${download_dir})
@@ -3106,16 +3105,14 @@ hash=${hash}
           get_filename_component(fname "${fname}" NAME)
         else()
           # Fall back to a default file name.  The actual file name does not
-          # matter as long as it doesn't conflict with other projects because
-          # it is used only internally and our extraction tool inspects the
-          # file content directly.  If it turns out the wrong URL was given
-          # that will be revealed during the build which is an easier place for
-          # users to diagnose than an error here anyway.
-          set(fname "${name}-archive.tar")
+          # matter because it is used only internally and our extraction tool
+          # inspects the file content directly.  If it turns out the wrong URL
+          # was given that will be revealed during the build which is an easier
+          # place for users to diagnose than an error here anyway.
+          set(fname "archive.tar")
         endif()
         string(REPLACE ";" "-" fname "${fname}")
         set(file ${download_dir}/${fname})
-        set(byproduct_file "${download_dir}/${fname}")
         get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
         get_property(inactivity_timeout
           TARGET ${name}
@@ -3292,7 +3289,6 @@ hash=${hash}
       COMMAND ${__cmdQuoted}
       WORKING_DIRECTORY \${work_dir}
       DEPENDS \${depends}
-      BYPRODUCTS \${byproduct_file}
       DEPENDEES mkdir
       ${log}
       ${uses_terminal}