If we're creating generation objects for imported targets only, we
don't need the export sets. Only compute build file generators
if generating for all targets.
Fixes: #23709
Since commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC
LAPACK library, 2021-05-05, v3.21.0-rc1~192^2) we try the `-fortranlibs`
option as a dependency of the NVHPC LAPACK. That flag is specific to
the NVHPC/PGI compilers, so use it conditionally with them.
Without this modification, CMake fails to find LAPACK if
- compiler ID is GNU
- `BLA_STATIC` is `ON`
- `BLA_VENDOR` is not defined or set to `All`
Fixes: #23705, #22878
Missing file sets were originally checked at configure time in
install(TARGETS ... EXPORT), but were not checked at generate time. If
a file set was added after install(TARGETS ... EXPORT) was called,
an abortion error was thrown. Check again at generate time to gracefully
display an error message instead of crashing.
Fixes: #23680
Since LCC 1.26.03, compiler developers decided to rename
liblfortran to libgfortran (internal reference: mcstbug#131633),
and despite it's stated that "-llfortran will be automatically
treated as -lgfortran", it actually does not work (and there's
even no symlinks like liblfortran.* -> libgfortran.*); so we
have to explicitly choose which library we have to link in.
Fixes: #23646
The change to `_ep_add_mkdir_command` in commit 5fbac2bb24
(ExternalProject: Move inline scripts to separate files, 2022-01-22,
v3.23.0-rc1~101^2) did not account for the possibility that
`CMAKE_CFG_INTDIR` is `$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`
instead of just the configuration name. Pass the value into the helper
script on the command line so that the native buildsystem placeholders
are evaluated.
Fixes: #23645
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] [MT] DVTSDK: Warning: SDK path collision for path ...
Teach RunCMake to drop such incidental lines before matching against
expected output.
Xcode 14 no longer accepts an empty signing identity for macOS.
However, Xcode in general does not accept an ad-hoc signing
identity for iOS. Switch based on the target platform.
Fixes: #23609
Since commit 07223c5c27 (Tutorial: Update Step 5 to work on Windows,
2020-02-18, v3.18.0-rc1~655^2) the logic does not work on non-Windows
platforms when cmake is re-run on an existing build tree. It is also
more complicated than we'd like for a tutorial example. Avoid the need
to consider the `m` library case by performing the check as C++.
Since `check_cxx_symbol_exists` cannot handle overloaded functions
like `exp` and `log`, check with `check_cxx_source_compiles` instead.
This also presents a more general-purpose example in the tutorial.
Fixes: #23524
Restore the logic removed by commit 035078d847 (cmake-gui: Remove
explicit locale setup, 2020-12-17, v3.20.0-rc1~205^2~6), but only with
Qt5 on Windows. Leave a FIXME comment to support Qt6 later.
Fixes: #23562
Issue: #23565
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
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.