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