1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-18 00:02:21 +08:00
Commit Graph

34519 Commits

Author SHA1 Message Date
Brad King
02765cc9c4 Merge topic 'cxx-atomic'
fa3c4b6dbf Source: Link libatomic when needed on any Linux architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8756
2023-08-25 09:41:27 -04:00
Kitware Robot
09651ff53e CMake Nightly Date Stamp 2023-08-25 00:01:12 -04:00
Brad King
fa3c4b6dbf Source: Link libatomic when needed on any Linux architecture
Extend commit 78bbd58545 (Source: Link libatomic when needed on Linux
32-bit ARM, 2023-07-27, v3.27.2~10^2) to check for libatomic on more
architectures.

Fixes: #25204
2023-08-24 13:05:45 -04:00
Kitware Robot
caace038e5 CMake Nightly Date Stamp 2023-08-24 00:01:17 -04:00
Brad King
c3977582b7 CMake 3.27.4 2023-08-23 09:25:28 -04:00
Brad King
649aa7aaff Merge topic 'update-kwsys'
a856486167 Merge branch 'upstream-KWSys' into update-kwsys
c7b30fa8b3 KWSys 2023-08-22 (7f82ad45)
b4a68240db Tests: Run CTestTest2 in explicit configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8752
2023-08-23 08:54:40 -04:00
Kitware Robot
6a5a8bed2f CMake Nightly Date Stamp 2023-08-23 00:01:11 -04:00
Brad King
a856486167 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2023-08-22 (7f82ad45)
2023-08-22 13:45:55 -04:00
Kitware Robot
249122653c CMake Nightly Date Stamp 2023-08-22 00:01:11 -04:00
Brad King
0788accdfc Merge topic 'imported-cxxmodules'
48ee946fdc cmExperimental: recycle the C++ modules API UUID
1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible
457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets
9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets
80ef50a191 CXXModules: add a variable for BMI-only compilation
80d6544398 cxxmodules: generate synthetic targets as an initial pass
3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching
cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8535
2023-08-21 09:49:48 -04:00
Kitware Robot
f6ae89aa59 CMake Nightly Date Stamp 2023-08-21 00:02:07 -04:00
Kitware Robot
dcdc80cdc7 CMake Nightly Date Stamp 2023-08-20 00:01:21 -04:00
Brad King
df0a32f48e Merge topic 'debugger-pipe-connections'
8b1257e7bf Debugger: Replace libuv with platform-specific connection code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8711
2023-08-19 08:46:01 -04:00
Brad King
4ee45988cb Merge topic 'cmList-INSERT-regression'
45ed175f08 list(INSERT): restore old behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8732
2023-08-19 08:37:09 -04:00
Kitware Robot
4f91cbba26 CMake Nightly Date Stamp 2023-08-19 00:01:12 -04:00
Kitware Robot
e7395d84e4 CMake Nightly Date Stamp 2023-08-18 00:01:11 -04:00
Ben Boeckel
48ee946fdc cmExperimental: recycle the C++ modules API UUID
Supporting modules on IMPORTED targets is worth an update.
2023-08-17 14:42:54 -04:00
Ben Boeckel
9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets 2023-08-17 14:42:54 -04:00
Ben Boeckel
80d6544398 cxxmodules: generate synthetic targets as an initial pass
We need to be able to construct BMIs that will be usable from the client
modules for the target importing the module, so create BMI-only
compilation rules for `IMPORTED` targets to create these BMIs.
2023-08-17 14:42:53 -04:00
Ben Boeckel
3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching 2023-08-17 14:42:53 -04:00
Ben Boeckel
cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects
When importing a C++ module, there may be requirements imposed by the
importer so that the compiler can reliably read the BMI. For example,
the standard used in the importer may need to also apply to the imported
BMI.

Right now, there are no tracked requirements. As we learn more, this
class can start tracking more information.

See: https://wg21.link/p2581r2
2023-08-17 14:42:53 -04:00
Ben Boeckel
c1defd9dd3 cmDyndepCollation: add initializers for POD types
This avoids invalid states from existing.
2023-08-17 14:42:53 -04:00
Ben Boeckel
a53748e319 cmDyndepCollation: add a query for whether an object is BMI-only
The collator needs to know that the object *is* a BMI so that it can
just use the location directly.
2023-08-17 14:42:53 -04:00
Ben Boeckel
9840bfdab0 cmDyndepCollation: support BMI-only collation 2023-08-17 14:42:53 -04:00
Ben Boeckel
caf5971c8a cmTarget: report that synthetic targets can compile sources 2023-08-17 14:42:53 -04:00
Ben Boeckel
3a8ea5c3a0 cmTarget: rename entry copying method
It will also be used to copy from other targets, not just directories.
2023-08-17 14:42:53 -04:00
Ben Boeckel
1ccf25b049 cmTarget: track and store IMPORTED_CXX_MODULES_ usage properties
While not "usage requirements" directly, when applied to a target that
will eventually have the BMI compile rules attached to them, they need
tracked as such.
2023-08-17 14:42:53 -04:00
Ben Boeckel
159585967a cmGeneratorTarget: classify BMI-only C++ module sources 2023-08-17 14:42:53 -04:00
Ben Boeckel
7b069510c5 cmImportedCxxModuleInfo: introduce code to parse exported BMI properties 2023-08-17 14:42:53 -04:00
Ben Boeckel
249cd3efad cmExportFileGenerator: export private compile info for C++ modules
When consuming exported targets which contain C++ modules, the consuming
project must be able to recompile BMI files using the original target's
flags. This is because a module source may use some private target usage
requirement but not want to propagate it to consumers. To facilitate
this, export the private information as necessary for consumers to be
able to perform the BMI compilations.
2023-08-17 14:42:53 -04:00
Brad King
308403ecf3 Merge topic 'vs-ClangCL-version'
899376d070 VS: Allow specifying VCTools version with the ClangCL toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8726
2023-08-17 10:28:10 -04:00
Brad King
cbc14b036a Merge topic 'msvc-llvm-mt'
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8706
2023-08-17 10:26:08 -04:00
Paul Maybee
8b1257e7bf Debugger: Replace libuv with platform-specific connection code
Remove libuv usage from CMake debugger. Libuv has an async io model
and cppdap uses a sync model, so an extra thread and a buffer copy
were necessary to match semantics. In order to eliminate those
costs this commit implements the IO using platform specific APIs.
2023-08-17 10:11:33 -04:00
Kyle Edwards
4653f80260 Merge topic 'cmake-presets-errors-functions'
94241e243d cmJSONHelpers: Make error generators proper functions
2588bf090c CMakePresets: Make error generators proper functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8727
2023-08-17 08:59:15 -04:00
Kyle Edwards
ac5772be3f Merge topic 'xcframework-maccatalyst-fix'
984e887e22 .xcframework: Search Info.plist for "maccatalyst" instead of "catalyst"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8729
2023-08-17 08:57:55 -04:00
Marc Chevrier
45ed175f08 list(INSERT): restore old behavior
Fixes: #25191
2023-08-17 12:07:41 +02:00
Kitware Robot
7b49424489 CMake Nightly Date Stamp 2023-08-17 00:01:16 -04:00
Richard Dzenis
899376d070 VS: Allow specifying VCTools version with the ClangCL toolset
Visual Studio supports specifying both:

    <PlatformToolset>ClangCL</PlatformToolset>
    <VCToolsVersion>14.32.31326</VCToolsVersion>

Fixes: #25189
2023-08-16 15:02:54 -04:00
Brad King
a69c783749 CMake 3.27.3 2023-08-16 13:46:35 -04:00
Kyle Edwards
984e887e22 .xcframework: Search Info.plist for "maccatalyst" instead of "catalyst" 2023-08-16 10:58:11 -04:00
Ben Boeckel
1690e451f7 cmGeneratorTarget: support better errors when checking for C++20 modules
Some callers have their own error reporting mechanisms which give more
context. Support handing off the error string for these use cases.
2023-08-16 10:40:11 -04:00
Kyle Edwards
58d27dc6db Merge topic 'xcframework-check-platform-variant'
b4565c8c91 .xcframework: Check SupportedPlatformVariant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8713
2023-08-16 10:26:00 -04:00
Brad King
c754f0d263 Merge topic 'remove_property'
822203dd65 Source: Rename SetProperty(nullptr_t) to RemoveProperty()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8721
2023-08-16 10:04:06 -04:00
Brad King
0386f0d098 Merge topic 'improve_rpath_removal_message'
c85fd9a705 file: Clarify CMake only drops RPATHS's it added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8715
2023-08-16 10:01:34 -04:00
Kyle Edwards
94241e243d cmJSONHelpers: Make error generators proper functions 2023-08-16 09:56:48 -04:00
ur4t
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments
Default use of `llvm-mt` was disabled by commit 73d0d4e4b5 (BinUtils:
Avoid llvm-mt because it is missing 'mt' features we use, 2022-03-08,
v3.23.0-rc3~7^2).  However, it can still be specified explicitly by the
user.  Due to limitations of LLVM's command line option parser, llvm-mt
does not support arbitrary manifest files following a single switch.

Issue: #23305
2023-08-16 09:52:57 -04:00
Brad King
cdbb166fbd Merge topic 'unity_c_no_extensions'
7f7c443667 Unity: use C-style comments to work both with C and C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8718
2023-08-16 09:48:02 -04:00
Brad King
71324ce879 Merge topic 'unity_c_no_extensions' into release-3.27
7f7c443667 Unity: use C-style comments to work both with C and C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8718
2023-08-16 09:48:01 -04:00
Kyle Edwards
2588bf090c CMakePresets: Make error generators proper functions
And rename cmCMakePresetErrors to cmCMakePresetsErrors.
2023-08-16 09:47:29 -04:00
Brad King
b931fbd1b8 Merge topic 'ghs-escape-custom-command-comments'
5a41d926dd GHS: Escape custom command comments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8714
2023-08-16 09:46:36 -04:00