ceb5ee4a7b FindOpenMP: Add support for Clang on Windows
2dbff623f9 FindOpenMP: Save flags/libs in cache entries each time they are detected
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4327
b4d5ea8233 FindMPI: Preserve order of include directories on re-runs of CMake
8261ee3a9c FindMPI: Restore re-construction of include directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4341
b4d5ea8233 FindMPI: Preserve order of include directories on re-runs of CMake
8261ee3a9c FindMPI: Restore re-construction of include directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4341
In commit 5bc6230741 (ExternalProject: Option to turn off recursive
update of git submodules, 2019-10-16) we implemented the feature in the
clone script written by `_ep_write_gitclone_script` but not in the
update script written by `_ep_write_gitupdate_script`. Implement the
latter by factoring out a common helper to use in both places.
Fixes: #20335
Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs
overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces
have been collected by `ComputeLinkLibs` by looking back through the
link implementation libraries for one matching the text of the link line
item. This is slow in projects with long link lines.
Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to
carry backtrace information explicitly along with the text of each item.
Fixes: #20322
The fix in commit 5861c6d450 (FindMPI: Preserve include order when
extracting component directories, 2019-12-19) only works on the first
run of CMake in which we find MPI. Extend the fix to save the compiler
wrapper's entire include path in our cache without splitting anything
out. That way we can preserve the order when CMake re-runs.
Fixes: #20338
The fix in commit 5861c6d450 (FindMPI: Preserve include order when
extracting component directories, 2019-12-19) only works on the first
run of CMake in which we find MPI. It preserves the include directories
on the first run but still splits them up and saves the pieces in the
cache. On future runs the pieces are not re-assembled, and we do not
know the order anyway.
Restore the re-assembly step so that at least all the include dirs are
available. Leave preservation of the original order to later work.
Issue: #20338
Populate `CMAKE_Swift_IMPLICIT_INCLUDE_DIRECTORIES` with the macOS SDK's
include directory so that we filter such implicit directories out of
Swift targets.
Fixes: #19845
Explicitly specify the build machine's Python 3 installation for
Windows to be used by the test suite. This avoids accidentally
using other versions on the machine.