cmReadGccDepfile() calls cmSystemTools::CollapseFullPath(), which
is not thread safe due to internal caching. Serialize calls to
cmReadGccDepfile() in autogen to avoid thread safety issues.
Fixes: #22014
dcd604ee62 Find{BLAS,LAPACK}: Make library variable names more robust
98ef6632d9 Find{BLAS,LAPACK}: Generalize recognition of dependencies as link flags
a57c4eef76 Find{BLAS,LAPACK}: Convert internal CHECK_*_LIBRARIES to functions
a5a6ac7033 Find{BLAS,LAPACK}: Clarify name of internal argument for dependencies
d248401d12 Find{BLAS,LAPACK}: Simplify appending to list of libraries
e4649d1d15 Find{BLAS,LAPACK}: Add test case covering Intel MKL
116edb5c04 Find{BLAS,LAPACK}: Revert bad refactoring of internal CHECK_*_LIBRARIES
44bcec240b ci: factor out Intel Compiler common configure script
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6005
Refactoring in commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the
Fujitsu SSL2 library, 2021-01-27) was done in order to support calling
`find_library` on the dependencies as well as the candidate libraries.
However, it broke a few things:
* Intel MKL's BLAS/LAPACK are no longer found. We specify their
dependencies using `-l...` flags, so we should not try to use
`find_library` for them.
* The dependencies are repeated because we accumulate them in the
`find_library` search loop and then append them at the end too.
Revert the incorrect part of the refactoring. Retain the flags part
needed for the Fujitsu vendor.
Fixes: #22056
KWSys as of 2021-04-14 changed the return type of `SystemTools`
operations from `bool` to `Status`. Update our call sites.
This may improve error reporting accuracy in a few places.
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 7ab1c60177e76707fbdd462fdbf7304ad2532edc (master).
Upstream Shortlog
-----------------
Brad King (11):
85e76a10 Status: Add class to hold an OS-specific status of a system operation
eec0add2 Directory: Return Status from Load
955e7c1e SystemTools: Return Status from RemoveFile and RemoveADirectory
c5a99e59 SystemTools: Return Status from GetPermissions and SetPermissions
fadfd7a0 SystemTools: Return Status from Touch
06216f0b SystemTools: Return Status from FileTimeCompare
ab198a22 SystemTools: Return Status from GetShortPath
2446b205 SystemTools: Return Status from MakeDirectory
6aec6af9 SystemTools: Return Status from ChangeDirectory
0664553b SystemTools: Return Status from copy operations
a95f61cf SystemTools: Return Status from symlink operations
Since commit f034b0f663 (CMake compilation: do not use compiler
extensions, 2020-03-14, v3.18.0-rc1~494^2), some sources explicitly
enable needed system APIs on some platforms using definitions like
`_POSIX_C_SOURCE` and `_XOPEN_SOURCE`. Drop the definitions for
OpenBSD, which provides the POSIX APIs by default.
a8d879cf45 Autogen: Add detection of UI file changes to the pre-build VS case
1876f2d03f Autogen: Move duplicated filename generation code into a function
087b717aef Autogen: Move duplicated executable dependency code into a function
0656bebeae Autogen: Rename the variable for UI files with UIC options
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5999
This facility is very useful for 'Ninja Multi-Config' and required
as well for future support of DEPFILE in 'Xcode' and 'Visual Studio'
generators (#20286).
This is achieved by adding a rule file which carries the UI files as dependencies but performs no meaningful command. Its output path points to a timestamp file which is instead touched by the pre-build command that runs autogen. The rule file therefore triggers the build if any of the files have been changed more recently than the last autogen run.
Fixes: #17959Fixes: #18741