summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'imported-cxxmodules'Brad King2023-08-2176-75/+1681
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmExperimental: recycle the C++ modules API UUIDBen Boeckel2023-08-1714-14/+14
| | | | | | | | Supporting modules on IMPORTED targets is worth an update.
| * gitlab-ci: declare `bmionly` support for modules where possibleBen Boeckel2023-08-176-6/+6
| | | | | | | | GCC and Clang both have the settings.
| * Tests/RunCMake/CXXModules: add tests which use modules from imported targetsBen Boeckel2023-08-1711-0/+102
| |
| * Ninja: generate scanning and build rules for C++20 module synthetic targetsBen Boeckel2023-08-175-24/+322
| |
| * CXXModules: add a variable for BMI-only compilationBen Boeckel2023-08-174-0/+9
| | | | | | | | | | This will be required when dealing with imported targets which contain modules.
| * cxxmodules: generate synthetic targets as an initial passBen Boeckel2023-08-178-1/+344
| | | | | | | | | | | | 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.
| * cmSyntheticTargetCache: add a struct for synthetic target cachingBen Boeckel2023-08-172-0/+16
| |
| * cmCxxModuleUsageEffects: add a class to capture module usage effectsBen Boeckel2023-08-174-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmDyndepCollation: add initializers for POD typesBen Boeckel2023-08-171-2/+2
| | | | | | | | This avoids invalid states from existing.
| * cmDyndepCollation: add a query for whether an object is BMI-onlyBen Boeckel2023-08-172-0/+16
| | | | | | | | | | The collator needs to know that the object *is* a BMI so that it can just use the location directly.
| * cmDyndepCollation: support BMI-only collationBen Boeckel2023-08-172-8/+32
| |
| * cmTarget: report that synthetic targets can compile sourcesBen Boeckel2023-08-171-0/+3
| |
| * cmTarget: rename entry copying methodBen Boeckel2023-08-171-6/+6
| | | | | | | | It will also be used to copy from other targets, not just directories.
| * cmTarget: track and store `IMPORTED_CXX_MODULES_` usage propertiesBen Boeckel2023-08-171-0/+38
| | | | | | | | | | | | 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.
| * cmGeneratorTarget: classify BMI-only C++ module sourcesBen Boeckel2023-08-174-0/+15
| |
| * cmImportedCxxModuleInfo: introduce code to parse exported BMI propertiesBen Boeckel2023-08-174-0/+116
| |
| * cmExportFileGenerator: export private compile info for C++ modulesBen Boeckel2023-08-1723-0/+573
| | | | | | | | | | | | | | | | | | 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.
| * cmGeneratorTarget: support better errors when checking for C++20 modulesBen Boeckel2023-08-162-17/+24
| | | | | | | | | | Some callers have their own error reporting mechanisms which give more context. Support handing off the error string for these use cases.
* | Merge branch 'release-3.27'Brad King2023-08-210-0/+0
|\ \
| * \ Merge topic 'doc-cmake_minimum_required-deprecation' into release-3.27Brad King2023-08-213-0/+19
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 741755f637 Help: Document cmake_minimum_required deprecation of old versions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8742
* | \ \ Merge topic 'doc-cmake_minimum_required-deprecation'Brad King2023-08-213-0/+19
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 741755f637 Help: Document cmake_minimum_required deprecation of old versions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8742
| * | | Help: Document cmake_minimum_required deprecation of old versionsBrad King2023-08-193-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document the deprecation warnings added by commit 5845c218d7 (Deprecate compatibility with CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2) and commit 3a4791548d (Deprecate compatibility with CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2). Fixes: #25196
* | | | CMake Nightly Date StampKitware Robot2023-08-211-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2023-08-201-1/+1
| | | |
* | | | Merge branch 'release-3.27'Brad King2023-08-190-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'LLVMFlang-Fortran-flags' into release-3.27Brad King2023-08-191-0/+4
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1140087ade LLVMFlang-Fortran: Add flags for build types Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8741
* | \ \ \ Merge topic 'LLVMFlang-Fortran-flags'Brad King2023-08-191-0/+4
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 1140087ade LLVMFlang-Fortran: Add flags for build types Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8741
| * | | | LLVMFlang-Fortran: Add flags for build typesTarun Prabhu2023-08-191-0/+4
| | |/ / | |/| | | | | | | | | | Fixes: #25193
* | | | Merge topic 'debugger-pipe-connections'Brad King2023-08-1910-440/+690
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Debugger: Replace libuv with platform-specific connection codePaul Maybee2023-08-1710-440/+690
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'tutorial-step1'Brad King2023-08-191-1/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d3f4e12d2 Tutorial: Clarify instructions for multi-config generators in Step 1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8734
| * | | | | Tutorial: Clarify instructions for multi-config generators in Step 1betsy.mcphail2023-08-171-1/+13
| | | | | |
* | | | | | Merge topic 'doc_env'Brad King2023-08-191-0/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a8634b878a Help:ENV: note escaping needed for special characters Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8733
| * | | | | | Help:ENV: note escaping needed for special charactersscivision2023-08-171-0/+11
| |/ / / / /
* | | | | | Merge topic 'libuv-tweaks'Brad King2023-08-194-37/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eee1dc10be libuv: Compile as C11 on all Solaris versions d6b4f6dd97 libuv: Remove unused compatibility code for CMake < 3.9 5fb17a1410 libuv: win,spawn: allow %PATH% to be unset 703e3e03c3 libuv: Comment why we cannot update past 1.44.2 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8744
| * | | | | | libuv: Compile as C11 on all Solaris versionsBrad King2023-08-182-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using `_XOPEN_SOURCE=600` on Solaris 5.10, as we do on Solaris 5.11+ already, allows the system headers to be included in C99 and C11 modes.
| * | | | | | libuv: Remove unused compatibility code for CMake < 3.9Brad King2023-08-181-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We now require CMake 3.13 or higher anyway.
| * | | | | | libuv: win,spawn: allow %PATH% to be unsetKyle Edwards2023-08-181-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport libuv commit `c97017dd` (win,spawn: allow `%PATH%` to be unset, 2023-08-14). See https://github.com/libuv/libuv/pull/4116.
| * | | | | | libuv: Comment why we cannot update past 1.44.2Brad King2023-08-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libuv 1.45 and above have higher minimum requirements than we do. Until we raise ours, we will have to stick with 1.44.2 and backport any further changes we need.
* | | | | | | Merge branch 'release-3.27'Brad King2023-08-190-0/+0
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | Merge topic 'vs-props-order' into release-3.27Brad King2023-08-192-4/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e4fe26201f VS: Remove duplicate import in compiler id vcxproj Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8740
* | \ \ \ \ \ \ Merge topic 'vs-props-order'Brad King2023-08-192-4/+1
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e4fe26201f VS: Remove duplicate import in compiler id vcxproj Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8740
| * | | | | | | VS: Remove duplicate import in compiler id vcxprojBrad King2023-08-182-4/+1
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d3c4c6d630 (VS: Import default C++ props file before toolset-specific props file, 2023-03-01, v3.27.0-rc1~361^2) we import `Microsoft.Cpp.Default.props` twice. Remove the extra import line, and re-order imports as intended by the original change.
* | | | | | | Merge branch 'release-3.27'Brad King2023-08-190-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'update-cppdap' into release-3.27Brad King2023-08-198-37/+105
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 90df1e5da4 Merge branch 'upstream-cppdap' into update-cppdap 5d568df6b1 cppdap 2023-08-17 (cc2f2058) 01d2e5ed3a cppdap: Update script to get version as of 2023-08-17 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8739
* | \ \ \ \ \ \ Merge topic 'update-cppdap'Brad King2023-08-198-37/+105
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 90df1e5da4 Merge branch 'upstream-cppdap' into update-cppdap 5d568df6b1 cppdap 2023-08-17 (cc2f2058) 01d2e5ed3a cppdap: Update script to get version as of 2023-08-17 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8739
| * | | | | | | Merge branch 'upstream-cppdap' into update-cppdapBrad King2023-08-187-36/+103
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By cppdap Upstream * upstream-cppdap: cppdap 2023-08-17 (cc2f2058)
| | * | | | | | | cppdap 2023-08-17 (cc2f2058)cppdap Upstream2023-08-187-36/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://github.com/google/cppdap.git at commit cc2f2058846bb29e18fdadf455d5f5af71b2554f (cc2f2058846bb29e18fdadf455d5f5af71b2554f).
| * | | | | | | | cppdap: Update script to get version as of 2023-08-17Brad King2023-08-181-1/+2
| | |_|/ / / / / | |/| | | | | |