Duplicated textual patterns are factored out to make the text
more readable. The POST_INCLUDE_FILES and POST_EXCLUDE_FILES
were also previously missing from the main syntax block for
install(RUNTIME_DEPENDENCY_SET).
In particular, mention the mutually exclusive nature with the
COMPONENT option. Fix the inconsistent way the versionadded
details were added for that text too.
Even though Makefile generators pass source files and include
directories by absolute path to the compiler, the compiler may generate
depfile paths relative to the current working directory. For example,
`ccache` with `CCACHE_BASEDIR` may transform paths this way. When
reading a depfile, convert relative dependencies to absolute paths
before placing them in `compiler_depend.make`, which is later evaluated
in the top-level build directory.
Fixes: #22364
Since commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by
environment variable, 2021-06-29), the `CMAKE_BUILD_TYPE` environment
variable is interpreted by CMake, and can affect the test suite.
Rename our CI config variable to avoid conflict.
The RunCMake infrastructure's `*-stdout.txt` expected output files
interpret `\n` as a `\` and `n` rather than a newline. Use a literal
newline instead. Otherwise the cases that were trying to match any
configuration name via `[^\n]*` would fail on `RelWithDebInfo` because
it contains the letter `n`.
Update the change from commit c6aaaf066a (DetermineCompiler: Restore
identification of MSVC with no INCLUDE dirs, 2021-06-29,
v3.21.0-rc2~6^2) to also work with no `LIB` dirs. Add the `-c` flag to
compile an object file without linking.
Extend the list of project types added by commit a82eb539f0 (Help:
Describe the type of Visual Studio projects that can be generated,
2018-08-04, v3.13.0-rc1~227^2) to mention that Fortran projects are
supported with Intel compiler integration.
Refactoring in commit 7f506b95a7 (cmGeneratorTarget: Refactor link item
lookup, 2021-05-26, v3.21.0-rc1~103^2~4) accidentally dropped the
persistent lookup scope tracking across multiple items that was added by
commit f0e67da061 (target_link_libraries: Fix out-of-dir linking of a
list of targets, 2020-01-14, v3.17.0-rc1~149^2). This broke a
transitive out-of-dir linking case not covered by our test suite.
Restore the scope tracking and add a test case.
Fixes: #22363
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6), our generated
compiler id source file contains a preprocessor condition of the form
#elif ... && __has_include(...)
When MSVC is invoked with no include directories in the `INCLUDE`
environment variable or in `-I` flags, its implementation of
`__has_include` errors out immediately. This breaks identification of
the compiler.
Work around the problem by adding a fallback attempt to compile the
identification source using a dummy include directory.
RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags.
It only supports querying those tags, but rpmbuild can not make use of them.
Since CPack relies on rpmbuild --querytags to check for support, this
commit switches to rpm --suggests to check for support of weak
dependencies.
Fixes: #22350
In commit 4ea3a88625 (MSVC: Add support for targeting ARM64EC,
2020-12-30, v3.20.0-rc1~121^2) the `ARM64EC` platform was accidentally
added to the list for VS 15 (2017) instead of VS 16 (2019). Its
omission from the list of platforms was then repeated for VS 17 (2022).
Issue: #21724
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 0648cb1ac5c91430b190f32319c528345b280dc3 (master).
Upstream Shortlog
-----------------
Ben Boeckel (2):
df91e5f1 EncodingC: use NULL for pointers
ab959cd2 SystemInformation: fix typo in comment
Björn Esser (2):
b4a2a03c testDynamicLoader: Use LIBDL_SO macro if defined.
b954dd54 testDynamicLoader: Use LIBC_SO if LIBDL_SO is not defined by glibc anymore.