Commit Graph

34266 Commits

Author SHA1 Message Date
Brad King cd52dddc98 Merge topic 'module-mapper-clang-transitive'
57ef353d22 cmExperimental: refresh the C++ modules UUID
7b05724ac8 cmCxxModuleMapper: give transitive usages to Clang as well
c9df4568da cmCxxModuleMapper: factor out transitive usage computation
71f1483aac Tests/RunCMake/CXXModules: require transitive usages
e39b6ebc19 cmCxxModuleMapper: use a `char` for streaming single bytes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8610
2023-07-14 08:39:37 -04:00
Brad King c9b1ce71f6 Merge topic 'debugger-breakpoints'
60b6383993 Debugger: Always clear existing breakpoints on setBreakpoints

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8624
2023-07-14 08:34:30 -04:00
Kitware Robot 3087b3dbac CMake Nightly Date Stamp 2023-07-14 00:01:11 -04:00
Ben McMorran 60b6383993 Debugger: Always clear existing breakpoints on setBreakpoints
Fixes: #25063
2023-07-13 08:44:52 -04:00
Ben Boeckel 57ef353d22 cmExperimental: refresh the C++ modules UUID
The transitive support for Clang is a change in support for the
ecosystem.
2023-07-13 08:40:22 -04:00
Ben Boeckel 7b05724ac8 cmCxxModuleMapper: give transitive usages to Clang as well
In the future, Clang plans to require transitive module usage to be
specified on the command line. This is in order to keep BMI files more
reproducible. Handily, MSVC has already required this, so the logic can
be reused for Clang easily.

See: https://github.com/llvm/llvm-project/commit/e22fa1d4c6152d36cf1342ab9029adc97c79a310
See: https://github.com/llvm/llvm-project/issues/62707
See: https://discourse.llvm.org/t/c-20-modules-should-the-bmis-contain-paths-to-their-dependent-bmis/70422
2023-07-13 08:40:22 -04:00
Ben Boeckel c9df4568da cmCxxModuleMapper: factor out transitive usage computation
Clang will need this in the future.
2023-07-13 08:40:22 -04:00
Ben Boeckel e39b6ebc19 cmCxxModuleMapper: use a char for streaming single bytes 2023-07-13 08:40:22 -04:00
Brad King dab61cf1aa Merge topic 'debugger-no-supportsVariableType'
e02cf3f190 Debugger: Correctly handle clients without supportsVariableType

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Garrett Campbell <gcampbell@microsoft.com>
Merge-request: !8620
2023-07-13 08:36:25 -04:00
Brad King d769c59d78 Merge topic 'debugger-no-supportsVariableType' into release-3.27
e02cf3f190 Debugger: Correctly handle clients without supportsVariableType

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Garrett Campbell <gcampbell@microsoft.com>
Merge-request: !8620
2023-07-13 08:36:24 -04:00
Brad King a0056a96d5 Merge topic 'genex-REMOVE_DUPLICATES-empty'
861dd60ecf Genex: Restore REMOVE_DUPLICATES preservation of empty elements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8623
2023-07-13 08:34:22 -04:00
Brad King 91333f1b99 Merge topic 'genex-REMOVE_DUPLICATES-empty' into release-3.27
861dd60ecf Genex: Restore REMOVE_DUPLICATES preservation of empty elements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8623
2023-07-13 08:34:21 -04:00
Brad King fa19e85b34 Merge topic 'show_autogen_exit_code'
bddd8f0e54 cmWorkerPool: Show process exit code / signal number upon failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8622
2023-07-13 08:33:31 -04:00
Kitware Robot dc88dd5e4a CMake Nightly Date Stamp 2023-07-13 00:01:13 -04:00
Brad King 861dd60ecf Genex: Restore REMOVE_DUPLICATES preservation of empty elements
Refactoring in commit 72d116ee68 (GenEx: list oriented genexes use
cmList class, 2023-03-29, v3.27.0-rc1~205^2) accidentally caused
empty elements to be dropped by the `REMOVE_DUPLICATES` genex.
Fix it and add a test case.

Fixes: #25080
2023-07-12 11:49:21 -04:00
Alexandru Croitor bddd8f0e54 cmWorkerPool: Show process exit code / signal number upon failure
Previously if an AUTOGEN process like moc exited with a non-zero exit
code, cmWorkerPool would not populate the result's ErrorMessage
because it mistakenly thought that if the ExitCode / TermSignal had a
non-zero value, the ErrorMessage must have already been set.

This was a wrong assumption.

Instead, check if ErrorMessage is empty, and if it is, set it to
whatever the exit code or term signal number is.
2023-07-12 10:29:49 -04:00
Ben McMorran e02cf3f190 Debugger: Correctly handle clients without supportsVariableType
Fixes: #25057
2023-07-12 10:09:21 -04:00
Brad King 27302fa005 Merge topic 'compile-commands-modules'
677b28dc7b Ninja: include module mapper flags in `compile_commands.json`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8611
2023-07-12 10:02:53 -04:00
Brad King fbe5f49d63 Merge topic 'compile-commands-modules' into release-3.27
677b28dc7b Ninja: include module mapper flags in `compile_commands.json`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8611
2023-07-12 10:02:52 -04:00
Brad King 6a51683676 Merge topic 'apple-visionos'
25977e177b apple: add preliminary visionOS support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Acked-by: Patrick Fu <paaatrickfu@gmail.com>
Acked-by: Volodymyr B. <v.boichentsov@elsevier.com>
Merge-request: !8581
2023-07-12 10:01:00 -04:00
Kitware Robot 8491ab38f2 CMake Nightly Date Stamp 2023-07-12 00:01:09 -04:00
Gregor Jasny 25977e177b apple: add preliminary visionOS support 2023-07-11 20:20:25 +02:00
Brad King 7ad290bf9c Merge topic 'cmList-regression'
a6e8811cf0 cmList: Fix performance regression in Join / to_string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8612
2023-07-11 12:12:35 -04:00
Kitware Robot 2bd28ae38a CMake Nightly Date Stamp 2023-07-11 00:01:10 -04:00
Kitware Robot db50248b38 CMake Nightly Date Stamp 2023-07-10 00:01:42 -04:00
Ben Boeckel 677b28dc7b Ninja: include module mapper flags in compile_commands.json
Fixes: #24618
2023-07-09 11:04:29 -04:00
Kitware Robot 14bddbe423 CMake Nightly Date Stamp 2023-07-09 00:01:10 -04:00
Kitware Robot 248b64c597 CMake Nightly Date Stamp 2023-07-08 00:01:13 -04:00
Brad King b8b53db1b3 Merge topic 'source_group-TREE-no-FILES'
87788353cc source_group: Add test/example for TREE without FILES
d85238a2f2 source_group: Fix TREE without FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8599
2023-07-07 10:32:31 -04:00
Brad King 304255a6c6 Merge topic 'msvc-embed-manifest-direct'
8a07bcc149 MSVC: Restore support for non-incremental linking without 'rc' in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8613
2023-07-07 10:28:37 -04:00
Kitware Robot 15970e50f2 CMake Nightly Date Stamp 2023-07-07 00:01:12 -04:00
Nicolas van Kempen a6e8811cf0 cmList: Fix performance regression in Join / to_string
Refactoring in commit 45f17e5a85 (cmList: Add container conversion to
string, 2023-06-20) accidentally introduced unnecessary string copies
and allocations. Remove unnecessary copies.
2023-07-06 11:23:58 -04:00
Brad King 8a07bcc149 MSVC: Restore support for non-incremental linking without 'rc' in PATH
Since commit 0b552eb877 (MSVC: Embed manifests directly for
non-incremental vs_link_exe links, 2023-02-20, v3.27.0-rc1~438^2) we
tell the MSVC `link` tool to embed manifests directly rather than
running `mt` ourselves.  However, `link` expects `rc` to be in the PATH
when embedding manifests.  Although that is normally true, some users
prepare minimal environments and explicitly specify include and link
directories for the Windows SDK.  In such cases, `rc` is not in the PATH
and is explicitly specified in `CMAKE_RC_COMPILER`.  Restore support for
such cases by explicitly adding the RC location to the end of the PATH.

Fixes: #25047
2023-07-06 08:11:34 -04:00
Kitware Robot fbea5d9f99 CMake Nightly Date Stamp 2023-07-06 00:01:14 -04:00
Alex Neundorf d85238a2f2 source_group: Fix TREE without FILES
According to the documentation of `source_group()` the `FILES`
parameter is optional, but that was actually not the case.
When using `source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR})`
cmake did not previously create the source tree, but recognized
it as the old syntax.  With this patch, cmake recognizes it as
`TREE` syntax if the first argument is TREE followed by a directory.
Then, if no files are given, it defaults to all files in the
directory. PREFIX works too.

Fixes: #24590
2023-07-05 07:54:50 -04:00
Kitware Robot 21c73b99bc CMake Nightly Date Stamp 2023-07-05 00:01:10 -04:00
Kitware Robot 7bd24c1da5 CMake Nightly Date Stamp 2023-07-04 00:01:10 -04:00
Kitware Robot 083c6fd927 CMake Nightly Date Stamp 2023-07-03 00:02:10 -04:00
Kitware Robot 20f07467a7 CMake Nightly Date Stamp 2023-07-02 00:01:13 -04:00
Kitware Robot 5e5c145234 CMake Nightly Date Stamp 2023-07-01 00:01:14 -04:00
Brad King b384058e4b CMake 3.27.0-rc4 2023-06-30 10:31:40 -04:00
Brad King 7417495de5 Merge topic 'debugger-segfault'
764258771a Debugger: Fix threads request segfault after thread exited event

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8604
2023-06-30 09:30:21 -04:00
Brad King 1cc4e97e87 Merge topic 'debugger-segfault' into release-3.27
764258771a Debugger: Fix threads request segfault after thread exited event

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8604
2023-06-30 09:30:20 -04:00
Brad King 4938a0cbdd Merge topic 'vs-cxxmodules-same-src-name'
b9c99830c5 VS: Fix C++ modules in source files with the same name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8596
2023-06-30 09:28:20 -04:00
Kitware Robot 2087cc5b85 CMake Nightly Date Stamp 2023-06-30 00:01:19 -04:00
Ben McMorran 764258771a Debugger: Fix threads request segfault after thread exited event
Fixes: #25041
2023-06-29 13:25:51 -04:00
Kitware Robot 408964f947 CMake Nightly Date Stamp 2023-06-29 00:01:10 -04:00
Brad King b9c99830c5 VS: Fix C++ modules in source files with the same name
When multiple source files in a single target have the same name, we
already set `ObjectFileName` explicitly to avoid a `.obj` collision. For
C++ module sources, set `Module{Output,Dependencies}File` to avoid
`.ifc` and `.module.json` collisions.

Fixes: #25038
2023-06-28 06:43:10 -04:00
Kitware Robot 8086ce2706 CMake Nightly Date Stamp 2023-06-28 00:01:11 -04:00
Brad King f596e2c6ef Merge topic 'vs12-deprecate'
75b573a628 Deprecate Visual Studio 12 2013 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8593
2023-06-27 11:05:00 -04:00