Refactoring in commit v3.11.0-rc1~293^2~4 (Modules: Remove paths set as
global Unix prefixes, 2017-11-20) removed `PATH_SUFFIXES` options that
appeared to be used to cover subdirectories of the `PATHS` options that
were also removed. However, the path suffixes also apply to other
search paths and so should not be removed. Restore them.
Fixes: #17760
The test was expecting timestamps on day 1 in 1970 to start at 86400 but
they actually started at 0. This worked without `SOURCE_DATE_EPOCH=1`
because after 1972, leap days compensated the offset.
Fixes: #17762
In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled
generate only the root-level ZERO_CHECK target so targets in
subdirectories pick up the root generator target of ZERO_CHECK.
For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not
enabled more investigation and a proper and final fix is still needed.
Issue: 14297
Some environments require linking to thread libraries for `std::thread`.
Express this direct dependency of CMakeLib explicitly. Previously this
was done indirectly through our bundled libuv, but that does not work
when using a system libuv.
Fixes: #17757
`Modules/CMakeCCompilerId.c.in` will report the C dialect as 11 whenever
`__STDC_VERSION__` indicates *at least* C 11. Make the test consistent
with this. We already do this for the C++ case.
Fixes: #17740
In commit v3.11.0-rc1~466^2 (Compiler/TI: Add support for depfile
generation for Ninja, 2017-10-16) the flag for C++ was added in a
variable with a typo in its name. Fix the spelling.
Issue: #17360
The `LINK_ONLY` generator expression is used to represent private
dependencies of static libraries in their `INTERFACE_LINK_LIBRARIES`
property value. Fix evaluation of generator expressions during export
to support the `LINK_ONLY` genex. Extend the RunCMake.AndroidMK test
with a case for this.
When exporting `INTERFACE_LINK_LIBRARIES`, we must evaluate generator
expressions first, before expanding the `;` list, in case they contain
or generate semicolons.
Check if the content of the AUTOMOC/UIC/RCC info file
will change before overwriting it. This avoids unnecessary
AUTORCC rebuilds when AUTORCC unrelated CMake settings change.
Add `clang` and `clang++` after the corresponding `gcc` and `g++`
candidates. Otherwise it is not tried on platforms where we do not
enumerate the toolchain pair candidates.
Fix logic added by commit 2ee10119ea (swig: fix incremental build in
case of removed interface files, 2017-11-06). Name the extra targets
added for Makefile generators using both the module name and .i base
name to avoid collisions across modules. Also make sure the extra
targets added for all .i files in a module are added as dependencies
instead of just the last one.
Fixes: #17704