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
Kitware Robot
e70749e0d6
CMake Nightly Date Stamp
2023-08-16 00:01:15 -04:00
Robert Maynard
c85fd9a705
file: Clarify CMake only drops RPATHS's it added
2023-08-15 14:59:14 -04:00
Vitaly Stakhovsky
822203dd65
Source: Rename SetProperty(nullptr_t) to RemoveProperty()
...
Avoid assignment to NULL semantics.
2023-08-15 12:13:56 -04:00
Sylvain Joubert
7f7c443667
Unity: use C-style comments to work both with C and C++
...
Update the comment added by commit 485256f2d0 (Unity: Suppress
clang-tidy 'bugprone-suspicious-include' warning, 2023-04-27,
v3.27.0-rc1~149^2) to work for C.
Fixes : #25184
2023-08-15 10:23:54 -04:00
William Sciaroni
5a41d926dd
GHS: Escape custom command comments
...
Fixes : #25171
2023-08-15 09:53:41 -04:00