Commit Graph

60287 Commits

Author SHA1 Message Date
Brad King e094bff983 Merge topic 'FindOpenSSL-static-z'
1b7804edd0 FindOpenSSL: use extra dependencies from pkg-config as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7986
2022-12-06 08:05:53 -05:00
Brad King f1f064b7b2 Merge topic 'cxx-module-map-clang'
2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules
abd42e9cfc ci: add a Docker container for clang support of C++20 modules
51093f3002 Clang-FindBinUtils: also find `clang-scan-deps`
0b333de923 ci: add C++ module rules file for Clang
21b9fb1e8c cmCxxModuleMapper: support the `clang` module map format
9c66224668 cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypes
9123a0991f cmNinjaTargetGenerator: use `.clear()` to empty out some strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !7978
2022-12-06 08:04:18 -05:00
Kitware Robot 85d89ca885 CMake Nightly Date Stamp 2022-12-06 00:01:09 -05:00
Brad King e0a35098bb Merge topic 'ArgumentFlags-function-args'
466f9b886d cmTargetPropCommandBase::HandleArguments: flags must be OR'able

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7983
2022-12-05 12:58:57 -05:00
Brad King 7006ca9190 Merge topic 'find_library-arch-unknown'
e7f78309e7 find_library: Construct paths by removing 'unknown' from library arch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7921
2022-12-05 12:57:11 -05:00
Brad King 5b1150e0e7 Merge topic 'link-options-cache'
7c63372c22 cmGeneratorTarget: Fix regression in CUDA device link options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7981
2022-12-05 12:55:50 -05:00
Brad King d7489e132c Merge topic 'test-file-GET_RUNTIME_DEPENDENCIES-rpath-xl'
f8fed12250 Tests: Enable RunCMake.file-GET_RUNTIME_DEPENDENCIES linux cases on XL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7980
2022-12-05 12:54:52 -05:00
Brad King 6a263cee22 Merge branch 'release-3.25' 2022-12-05 12:51:24 -05:00
Brad King b82f9dce70 Merge topic 'CheckSymbolExists-restore-newline'
9273b8f421 CheckSymbolExists: Restore newline at end of test source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Petr Nechaev <petr.nechaev@cogentembedded.com>
Merge-request: !7979
2022-12-05 12:51:24 -05:00
Brad King 60fc165dcb Merge topic 'CheckSymbolExists-restore-newline' into release-3.25
9273b8f421 CheckSymbolExists: Restore newline at end of test source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Petr Nechaev <petr.nechaev@cogentembedded.com>
Merge-request: !7979
2022-12-05 12:51:23 -05:00
Kyle Edwards 3baf766cec Merge topic 'clang-tidy-module-string-concatenation-fix'
b1366e215e clang-tidy module: fix offset issue with last string concat operand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7984
2022-12-05 11:39:57 -05:00
Rolf Eike Beer 1b7804edd0 FindOpenSSL: use extra dependencies from pkg-config as well
This is important if OpenSSL is linked against an external zlib.
2022-12-05 13:00:41 +01:00
Craig Scott 2243bba402 Merge branch 'release-3.25' 2022-12-05 06:23:28 -05:00
Craig Scott d09dc11911 Merge topic 'FetchContent-SYSTEM'
4b85141f83 FetchContent: Don't pass SYSTEM through to sub-build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7977
2022-12-05 06:23:28 -05:00
Craig Scott 2d74078d37 Merge topic 'FetchContent-SYSTEM' into release-3.25
4b85141f83 FetchContent: Don't pass SYSTEM through to sub-build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7977
2022-12-05 06:23:27 -05:00
Kitware Robot 03da25a44a CMake Nightly Date Stamp 2022-12-05 00:01:22 -05:00
Kitware Robot 2e3ae48819 CMake Nightly Date Stamp 2022-12-04 00:01:16 -05:00
Kyle Edwards b1366e215e clang-tidy module: fix offset issue with last string concat operand 2022-12-03 13:56:56 -05:00
Craig Scott 466f9b886d cmTargetPropCommandBase::HandleArguments: flags must be OR'able
The flags argument is intended to support multiple flags from the
ArgumentFlags enum. Therefore, flags cannot be of enum type, it
must be an integral type that allows flags to be OR'ed together.
Update the one call site that was erroneously OR'ing multiple values
but then casting that to an ArgumentFlags, which could result in
passing a technically invalid value.

Amends: dd3482f675 (cmTargetPropCommandBase: Restore
ArgumentFlags enum value bool logic, 2022-11-27)
2022-12-03 22:25:57 +11:00
Kitware Robot 3d019b4133 CMake Nightly Date Stamp 2022-12-03 00:01:17 -05:00
Ben Boeckel 2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules 2022-12-02 13:16:16 -05:00
Ben Boeckel abd42e9cfc ci: add a Docker container for clang support of C++20 modules 2022-12-02 13:16:16 -05:00
Ben Boeckel 51093f3002 Clang-FindBinUtils: also find clang-scan-deps
`clang-scan-deps` will be required for C++20 module scanning purposes.
2022-12-02 13:04:34 -05:00
Ben Boeckel 0b333de923 ci: add C++ module rules file for Clang 2022-12-02 13:04:34 -05:00
Ben Boeckel 21b9fb1e8c cmCxxModuleMapper: support the clang module map format 2022-12-02 13:01:21 -05:00
Ben Boeckel 9c66224668 cmNinjaTargetGenerator: skip setting depfile for none scantypes
The `clang` mechanism does not support `depfile` discovered dependencies
at the moment.
2022-12-02 13:01:13 -05:00
Brad King 7c63372c22 cmGeneratorTarget: Fix regression in CUDA device link options
Since commit f69d1872db (cmGeneratorTarget: Add caches to some
functions, 2022-11-23) we cache the computed link options for a target.
Cache the host and device link options separately.
2022-12-02 11:04:16 -05:00
Andrey Vostrikov 9273b8f421 CheckSymbolExists: Restore newline at end of test source
Refactoring in commit db76876db5 (Modules: Use new SOURCES_FROM_*
try_compile (1/2), 2022-09-26, v3.25.0-rc1~74^2~1) accidentally dropped
the final newline of the test source, which was previously provided by
the input to `configure_file`.  The C standard requires a newline at the
end of file, so add one explicitly.

Signed-off-by: Andrey Vostrikov <andrey.vostrikov@cogentembedded.com>
2022-12-02 09:20:09 -05:00
Brad King f8fed12250 Tests: Enable RunCMake.file-GET_RUNTIME_DEPENDENCIES linux cases on XL
These were excluded with the XL and XLClang compilers because one
such compiler in nightly testing hard-codes `--enable-new-dtags`.
Add a way to disable the cases via local configuration instead so that
we can run them on the rest of the XL compilers.
2022-12-02 09:09:38 -05:00
Brad King 7ea665b74d Merge topic 'file-GET_RUNTIME_DEPENDENCIES-transitive-rpath'
136622a2b2 file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpath
4aa3149c67 Tests: Simplify RunCMake.file-GET_RUNTIME_DEPENDENCIES case cleaning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7968
2022-12-02 09:01:51 -05:00
Alex Lapenkou 136622a2b2 file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpath
This fixes incorrect runtime dependency resolution when the dependency
is located in rpaths of a transitive parent.  Instead of supplying only
the rpaths of the immediate parent, it combines the rpaths of all
transitive parents and passes them down.

Fixes: #24172
2022-12-02 09:00:06 -05:00
Brad King 399d62db8b Merge topic 'cxxmodules-vs'
52c21cbbda ci: enable C++20 module testing with the VS 2022 generator
2991e92ea7 cmExperimental: recycle C++20 module support UUID
82833fb3c0 Help/dev/experimental: document C++20 module limitations
388acfd46d Tests/RunCMake/CXXModules: add support for Visual Studio
069a32b03c Tests/RunCMake/CXXModules: split out collation-requiring tests
ef03a3a2f5 Tests/RunCMake/CXXModules: factor out generator support detection
736123464f Tests/RunCMake/CXXModules: update `NoDyndepSupport` for VS2019 and older
4a4ce031cd Tests/RunCMake/CXXModules: catch VS circular error message
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7972
2022-12-02 08:24:05 -05:00
Brad King 3c07549b51 Merge topic 'ci-os-arch'
6a38c5dccb gitlab-ci: replace 'linux' tags with 'linux-x86_64' in upload jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7976
2022-12-02 08:22:33 -05:00
Craig Scott 4b85141f83 FetchContent: Don't pass SYSTEM through to sub-build
If we don't filter out SYSTEM from the arguments we pass
through to ExternalProject_Add(), it gets appended as a
list item to whatever arguments precede it because
ExternalProject_Add() doesn't recognize it as a keyword.

Fixes: #24201
2022-12-02 18:41:18 +11:00
Kitware Robot b6a84d7cc1 CMake Nightly Date Stamp 2022-12-02 00:01:10 -05:00
Ben Boeckel 9123a0991f cmNinjaTargetGenerator: use .clear() to empty out some strings 2022-12-01 22:21:42 -05:00
Nemanja Ivanovic e7f78309e7 find_library: Construct paths by removing 'unknown' from library arch
The compiler used for a build sometimes disagrees with
the remainder of the toolchain wrt. to the architecture
triple. Specifically, Clang will typically put its
libraries in `<arch>-unknown-<os>-<env>` but it uses
the GCC toolchain on many targets (which often has
its libraries in `<arch>-<os>-<env>`). In such cases
CMake will acquire the triple from Clang and use it
in library search paths for libraries that are provided
by the GCC toolchain. This of course fails due to the
mismatch.

This patch augments the list of search paths with ones
that include the architecture triple with any occurrences
of 'unknown' removed.

Fixes: #24175
2022-12-01 17:55:39 -05:00
Ben Boeckel 52c21cbbda ci: enable C++20 module testing with the VS 2022 generator 2022-12-01 11:42:46 -05:00
Ben Boeckel 2991e92ea7 cmExperimental: recycle C++20 module support UUID
Visual Studio support warrants a new ID.
2022-12-01 11:42:46 -05:00
Ben Boeckel 82833fb3c0 Help/dev/experimental: document C++20 module limitations 2022-12-01 11:42:46 -05:00
Ben Boeckel 388acfd46d Tests/RunCMake/CXXModules: add support for Visual Studio 2022-12-01 11:42:46 -05:00
Ben Boeckel 069a32b03c Tests/RunCMake/CXXModules: split out collation-requiring tests
Visual Studio does not currently have a place to insert the logic
required to implement this test, so skip it if possible.
2022-12-01 11:42:46 -05:00
Ben Boeckel ef03a3a2f5 Tests/RunCMake/CXXModules: factor out generator support detection
This keeps the condition to a readable limit.
2022-12-01 11:42:46 -05:00
Ben Boeckel 736123464f Tests/RunCMake/CXXModules: update NoDyndepSupport for VS2019 and older 2022-12-01 11:42:46 -05:00
Ben Boeckel 4a4ce031cd Tests/RunCMake/CXXModules: catch VS circular error message 2022-12-01 08:33:43 -05:00
Ben Boeckel 7eb9b45861 Tests/RunCMake/CXXModules: mask scanning checks without control
In Visual Studio, there is no mechanism to tell scanning apart from
non-scanning, so skip the sanity checks.
2022-12-01 08:33:43 -05:00
Ben Boeckel f0899e46fb cmVisualStudio10TargetGenerator: write C++ module elements 2022-12-01 08:33:43 -05:00
Ben Boeckel b0283aaa7c cmVisualStudio10TargetGenerator: ask the generator for dyndep support 2022-12-01 08:33:43 -05:00
Ben Boeckel 9ee7ee1fc2 cmGlobalVisualStudioVersionedGenerator: check for C++ module support 2022-12-01 08:33:43 -05:00
Ben Boeckel fce359c5de cmGlobalVisualStudioVersionedGenerator: support dyndep in VS2022 and up 2022-12-01 08:33:43 -05:00