mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 19:00:54 -06:00
ExternalProject: revert BYPRODUCTS for download outputs
Xcode has been reported to not work at all with this when
ExternalProject projects share download files.
Revert commit 872daff159 (ExternalProject: declare byproducts for the
download step, 2023-09-21, v3.28.0-rc1~27^2) pending further
investigation.
Fixes: #25525
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user