Commit Graph

34542 Commits

Author SHA1 Message Date
Kyle Edwards
a5f98df778 Source: Fix mysterious new IWYU warnings 2023-08-29 10:51:30 -04:00
Kyle Edwards
0712e3cfea cmCTestCoverageHandler: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards
96b3dd329e cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain
And convert cmCTestLaunch and cmCTestBuildHandler too.
2023-08-29 10:51:30 -04:00
Kyle Edwards
b15ad7ebb6 cmCTest: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards
50a6e78a82 cmSystemTools::RunSingleCommand(): Replace cmsysProcess with cmUVProcessChain
And pass OUTPUT_PASSTHROUGH in one call where it was missing.
2023-08-29 10:51:30 -04:00
Kyle Edwards
49a37d5a97 cmCTestScriptHandler: Replace cmsysProcess with cmUVProcessChain
And update cmSystemTools::WaitForLine() to use cmUVProcessChain.
2023-08-29 10:51:30 -04:00
Kyle Edwards
bc702aa97e cmcmd: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards
ec124582ac cmProcessTools::RunProcess(): Replace cmsysProcess with cmUVProcessChain
And convert the VCS code to std::vector<std::string>.
2023-08-29 10:51:30 -04:00
Kyle Edwards
5420639a8d cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -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