e2fe1d17e6 libarchive: Update build within CMake after changes in 3.5.3
ac5e524763 libarchive: include archive_platform.h first in blake2s sources
b93d8b1714 Merge branch 'upstream-LibArchive' into update-libarchive
9fd16c5b5b LibArchive 2022-02-08 (673c1eae)
de38c89252 libarchive: Update script to get 3.5.3
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7294
This is the libarchive convention in all other `.c` sources. It ensures
that the configured `_WIN32_WINNT` value is defined before including any
system headers.
The change from `\` to `/` in commit dade75509f (CPack/NuGet: Fix nuspec
file generation for UNIX-style OS, 2020-12-21, v3.20.0-rc1~243^2) does
not work on Windows. Use `cmake_path` to form a path to an image
directory with preinstalled files.
Fixes: #22489
Fix issue introduced in commit 2defe9ff95 (ccmake: Fix crash when
deleting all cache entries, 2022-05-12).
Leaving the Empty Cache widget always on the Entry list had unforeseen
consequences, including that it caused an infinite loop when searching
for a string that did not match any variables.
Since commit bb61c2d024 (Clang: use -imsvc for system include dirs when
running on Windows, 2020-09-16, v3.19.0-rc1~162^2) we use the `-imsvc`
flag followed by the include directory as a separate argument. Some
versions of `clang-tidy` do not support the flag unless the include
directory is attached to it, so use that form instead.
A similar fix was made by commit 3a8b6653dc (MSVC: Use -external:I flag
without space to support Clang tools, 2022-01-11, v3.22.2~8^2).
Fixes: #23517
The C flags added by commit 6a0ce19ce1 (FortranCInterface: Fix
compatibility with GCC gfortran 12 LTO, 2022-01-19, v3.22.2~5^2)
should only be added for the GNU C compiler.
Fixes: #23500
Issue: #23123
If we add no CUDA architecture flags, write an empty `CodeGeneration`
field to tell the CUDA Toolkit's VS integration not to add its default
flags. We already use this approach for `CMAKE_CUDA_ARCHITECTURES=all`
so that the `-arch=all` flag can be added via `AdditionalOptions`.
Fixes: #23490
Prevents crash when deleting all cache entries.
Additionally, if advanced entries are hidden, no longer show the first advanced
entry when deleting all visible entries.
Fixes: #23499
Fix the ENV save/restore added by commit 36979f5b43 (FindPkgConfig:
Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environment, 2021-07-13,
v3.22.0-rc1~407^2) to unset the variable if it was originally not set.
While at it, clarify the value to which we temporarily set it. The
`pkg-config` and `pkgconf` tools only check that the variable is set,
and do not care about the value. Set it to a more true-looking value.
Issue: #22148
In commit 55c3b6a77e (CMakePackageConfigHelpers: Relax restrictions on
version range, 2019-05-30, v3.20.0-rc1~295^2~1) the documentation for
write_basic_package_version_file documented the support of version
ranges by the generated version files, however the note wrongly
specifies a COMPATIBILITY_MODE argument, instead of COMPATIBILITY.
If `Close()` is called when a file was never opened, we have no
temporary file path. Do not try to remove it. Some implementations of
`unlink()` crash on an empty path (though the documented behavior is to
fail with `ENOENT`).
Fixes: #23414
In 2a8df7e7db (productbuild: Don't write rootVolumeOnly attribute if
writing domains, 2022-03-21), the variable holding the main contents
of the distribution.dist XML file was renamed from
CPACK_PACKAGEMAKER_CHOICES to CPACK_APPLE_PKG_INSTALLER_CONTENT.
This reflected the fact that the PackageMaker generator is deprecated.
The new variable also includes more details than the old one held.
Some projects were relying on the old variable name, so we need to still
set that to the same contents as it would have previously provided.
Neither of these variables were previously documented, but the older
variable was mentioned in enough semi-official places that it essentially
became semi-supported. Document both variables and highlight that the
older one is deprecated.
Fixes: #23467
Provide readers following the tutorial on `cmake.org` a direct link to
download the tutorial's source examples. Previously readers had to
fetch the CMake source tree separately and look for the tutorial source
examples inside it.
Fixes: #22475