Commit Graph

34536 Commits

Author SHA1 Message Date
Kitware Robot
eb5174a90c CMake Nightly Date Stamp 2023-09-01 00:01:12 -04:00
Kitware Robot
4b28f39591 CMake Nightly Date Stamp 2023-08-31 00:01:19 -04:00
Kitware Robot
4cd207b6f3 CMake Nightly Date Stamp 2023-08-30 00:01:12 -04:00
Kyle Edwards
b938e7de9c Merge topic 'cmuvstreamread-raii'
27be5ccd45 cmUVStreamRead: Return RAII handle to avoid memory leak

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8749
2023-08-29 10:50:58 -04:00
Kitware Robot
9844219878 CMake Nightly Date Stamp 2023-08-29 00:01:15 -04:00
Marc Chevrier
a52fc160a7 Merge topic 'imported-framework-dir-is-system'
878ae03832 macOS: IMPORTED framework: Honor SYSTEM target property in all cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8758
2023-08-28 11:10:31 -04:00
Kitware Robot
889f902737 CMake Nightly Date Stamp 2023-08-28 00:02:26 -04:00
Marc Chevrier
878ae03832 macOS: IMPORTED framework: Honor SYSTEM target property in all cases
When IMPORTED_LOCATION holds a framework folder, SYSTEM property must be respected.
2023-08-27 10:59:36 +02:00
Kitware Robot
ef2a6c35c2 CMake Nightly Date Stamp 2023-08-27 00:01:10 -04:00
Kitware Robot
d774145786 CMake Nightly Date Stamp 2023-08-26 00:01:12 -04:00
Brad King
863891adb2 Merge topic 'modules-better-messages'
571b5e1f2c cxxmodules: improve error messages for C++ module setup
8b4d32c18b cmStandardLevelResolver: add query for the effective standard level
17ddc4ac76 cmStandardLevelResolver: compare with static string literals
6f1dae2b01 cmStandardLevelResolver: use `cmStrCat` where possible
0d45d40e13 cmStandardLevelResolver: use character literals where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8755
2023-08-25 11:27:27 -04:00
Kyle Edwards
27be5ccd45 cmUVStreamRead: Return RAII handle to avoid memory leak 2023-08-25 10:44:06 -04:00
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
Ben Boeckel
571b5e1f2c cxxmodules: improve error messages for C++ module setup
Make it clear that:

- the quoted string is a target name; and
- C++ sources that export modules is the important detail.
2023-08-23 16:47:29 -04:00
Ben Boeckel
8b4d32c18b cmStandardLevelResolver: add query for the effective standard level
This allows for improved error messages.
2023-08-23 16:14:02 -04:00
Ben Boeckel
17ddc4ac76 cmStandardLevelResolver: compare with static string literals 2023-08-23 16:13:49 -04:00
Ben Boeckel
6f1dae2b01 cmStandardLevelResolver: use cmStrCat where possible 2023-08-23 16:13:49 -04:00
Ben Boeckel
0d45d40e13 cmStandardLevelResolver: use character literals where possible 2023-08-23 16:13:49 -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