Commit Graph

62280 Commits

Author SHA1 Message Date
Brad King
1e085cbff7 Merge topic 'fix-ctest-timeout-regression' into release-3.27
0e8584c89c CTest: Fix regression in calculating test timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8647
2023-07-25 09:21:10 -04:00
Kyle Edwards
0e8584c89c CTest: Fix regression in calculating test timeout
Fixes: #25120
2023-07-24 19:29:54 -04:00
Brad King
21721ad3ce Merge topic 'dyndep-module-info-objlib-dependency' into release-3.27
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
a99b87a628 Tests/RunCMake/CXXModules: add a test for issue #25112
2870a67540 Tests/FortranOnly: add a test case for issue #25112

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8645
2023-07-24 08:31:52 -04:00
Ben Boeckel
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
In commit b6a5382217 (Ninja: depend on language module information files
directly, 2023-02-10), introduced via !8197, language-specific module
information files (`CMakeFiles/<target>.dir/<lang>Modules.json`) files
were added as real dependencies to the dyndep collation steps.
Previously, the behavior was to inform the collator of all possible
targets and search for the files manually ignoring those which did not
exist with ordering enforced by depending on the linker output of all
dependent targets. This behavior could lead to stale information being
used (e.g., if a target stops providing any targets) and also did not
reliably build everything needed on rebuilds. Afterwards, the internal
computation changed the dependency from all possible targets to an exact
set of "these targets might have modules" query, however one that did
not include `OBJECT` libraries since do not have `LinkEntry` items
internally (their objects are instead treated as source files).

As a stopgap measure, track `OBJECT` libraries in a separate list and
query them explicitly when gathering targets which may have interesting
information. Future work can add `LinkEntry` items to represent these
targets once all `LinkEntry` consumers have been audited to make sure
they are not surprised by any `OBJECT` library entries.

Fixes: #25112
2023-07-22 07:12:43 -04:00
Ben Boeckel
a99b87a628 Tests/RunCMake/CXXModules: add a test for issue #25112
Add a test case for C++ `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:38 -04:00
Ben Boeckel
2870a67540 Tests/FortranOnly: add a test case for issue #25112
Add a test case for Fortran `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:36 -04:00
Brad King
3ea7204de4 Merge topic 'FindOpenSSL-trust-root-dir' into release-3.27
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8643
2023-07-21 09:37:28 -04:00
Brad King
50c9723462 Merge branch 'release-3.26' into release-3.27 2023-07-21 09:36:14 -04:00
Brad King
b4693ea408 Merge topic 'FindCUDAToolkit-libnvrtc-builtins' into release-3.27
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8642
2023-07-21 09:35:09 -04:00
Brad King
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty
Since commit 5cc8a69867 (FindOpenSSL: Trust the user's OPENSSL_ROOT_DIR,
2023-05-17, v3.27.0-rc1~71^2) we use `OPENSSL_ROOT_DIR` whenever it is
defined, even if it is an empty string.  This breaks a pattern in
existing projects that define an empty `OPENSSL_ROOT_DIR` cache entry so
that `cmake-gui` users can fill it in.  Use the value only if non-empty.

Issue: #18352
2023-07-20 12:18:13 -04:00
Brad King
eace51a20c Merge branch 'FindCUDAToolkit-libnvrtc-builtins' into release-3.26
Merge-request: !8642
2023-07-20 11:37:25 -04:00
Tomoharu Kitawaki
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name
The lib is named `libnvrtc-builtins.so`, not `libnvrtc_builtins.so`.

Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support
for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2).  Apply a fix
similar to commit 9688a8ebc2 (FindCUDAToolkit: Fix
`nvrtc_builtins_static` library name, 2023-02-03, v3.26.0-rc2~15^2).
2023-07-20 11:34:47 -04:00
Brad King
8ea4a99d28 Merge branch 'release-3.26' into release-3.27 2023-07-19 14:40:17 -04:00
Brad King
01c62f4ff0 CMake 3.26.5 v3.26.5 2023-07-19 13:56:04 -04:00
Brad King
784596bd08 CMake 3.27.0 v3.27.0 2023-07-18 13:52:42 -04:00
Brad King
44698f1c88 Merge topic 'export-doc-config-map' into release-3.27
38737e3970 Help: Mention imported config mapping in export() and install() docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8637
2023-07-18 13:51:15 -04:00
Brad King
74c41f89c5 Merge branch 'release-3.26' into release-3.27 2023-07-18 13:49:46 -04:00
Brad King
a881ae61f1 Merge topic 'armclang-update-version-computation' into release-3.27
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8636
2023-07-18 13:48:49 -04:00
Brad King
0ef3b9fd76 Merge branch 'armclang-update-version-computation' into release-3.26
Merge-request: !8636
2023-07-18 13:31:12 -04:00
Daniel Brondani
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level
According to ARMClang documentation 6.20, the patch version number
should not include the last two digits of `__ARMCOMPILER_VERSION`,
which are reserved for internal use by ARM.
2023-07-18 13:29:01 -04:00
Brad King
38737e3970 Help: Mention imported config mapping in export() and install() docs
Suggest the `CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>` variable for mapping
configurations of dependent projects to configurations exported by these
commands.

Issue: #25096
2023-07-18 11:11:14 -04:00
Brad King
59ed19304b Merge topic 'innosetup-component-install' into release-3.27
c80190c6ab InnoSetup: Always specify at least one component installation type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8630
2023-07-18 10:29:56 -04:00
Jannik Alber
c80190c6ab InnoSetup: Always specify at least one component installation type
Inno Setup implicitly creates three installation types if none is
specified in the script. This causes some component features (e.g.
`REQUIRED`) to lose their functionality.  Teach the generator to always
specify a "custom" installation type when using components.

Fixes: #25083
2023-07-17 10:30:25 -04:00
Brad King
8bcba75b1c CMake 3.27.0-rc5 v3.27.0-rc5 2023-07-14 11:03:52 -04:00
Brad King
6cb290559e Merge topic 'FindProtobuf-version-schemes' into release-3.27
6e90d79577 FindProtobuf: Fix new version number scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8629
2023-07-14 11:03:09 -04:00
Jannik Beyerstedt
6e90d79577 FindProtobuf: Fix new version number scheme
Revise the changes from commit fc7dcc6a24 (FindProtobuf: Support new
version number scheme, 2023-06-19, v3.27.0-rc3~2^2).  Changing the
content of `Protobuf_VERSION` to exclude the major version of the library
might break code as it can't be used to detect breaking changes in the
library any more.

However, protoc v22 and up don't print the major version any more, so we
need to compare the against a truncated version number, too.
2023-07-14 09:34:13 -04:00
Brad King
1f42b0299b Merge topic 'doc-list-genex' into release-3.27
326a73a328 Help: Improve formatting and wording of LIST generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8621
2023-07-14 08:38:03 -04:00
Brad King
6b6271521a Merge topic 'doc-search-names' into release-3.27
094c5a089d Utilities/Sphinx: Restore html search index link anchors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8628
2023-07-14 08:35:47 -04:00
Brad King
78363b4d3c Merge topic 'debugger-breakpoints' into release-3.27
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:29 -04:00
Brad King
dbbbedb3af Merge topic 'android-platform' into release-3.27
bfe4722a61 Android: Restore platform info and search paths shared with Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8626
2023-07-14 08:33:12 -04:00
Brad King
094c5a089d Utilities/Sphinx: Restore html search index link anchors
Since commit 37e015d4a6 (Utilities/Sphinx: Refactor Sphinx reference
recording, 2023-03-08, v3.27.0-rc1~342^2~1), anchors in links to cmake
domain objects generated in html search results were missing their
object type prefix, and thus did not link to the object.

Restore our `get_objects` implementation's second tuple entry to what we
used prior to that commit.  This matches what Sphinx's builtin python,
rst, and javascript modes do.

Fixes: #25067
2023-07-13 12:16:39 -04:00
Craig Scott
326a73a328 Help: Improve formatting and wording of LIST generator expressions 2023-07-13 08:46:14 -04:00
Ben McMorran
60b6383993 Debugger: Always clear existing breakpoints on setBreakpoints
Fixes: #25063
2023-07-13 08:44:52 -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
c6ce757298 Merge topic 'doc-genex-TARGET_IMPORT_FILE' into release-3.27
69bc89758f Help: Fix typos, formatting and wording for TARGET_IMPORT_FILE genexes
9c0c844fbd Help: Add TARGET_IMPORT_FILE... genexes to 3.27 release notes
88277d15e7 Help: Add missing versionadded for TARGET_IMPORT_FILE_DIR genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8625
2023-07-13 08:35:16 -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
937fa28a6d Merge topic 'show_autogen_exit_code' into release-3.27
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:30 -04:00
Brad King
bfe4722a61 Android: Restore platform info and search paths shared with Linux
These were accidentally dropped by commit 1373373823 (enable_language:
Establish target platform identification variables earlier, 2023-06-06,
v3.27.0-rc1~3^2~1).

Fixes: #25077
2023-07-13 08:19:15 -04:00
Craig Scott
69bc89758f Help: Fix typos, formatting and wording for TARGET_IMPORT_FILE genexes 2023-07-13 09:28:58 +10:00
Craig Scott
9c0c844fbd Help: Add TARGET_IMPORT_FILE... genexes to 3.27 release notes
Fixes: #25060
2023-07-13 09:27:28 +10:00
Craig Scott
88277d15e7 Help: Add missing versionadded for TARGET_IMPORT_FILE_DIR genex
Issue: #25060
2023-07-13 09:16:28 +10: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
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
bab2a627e4 Merge topic 'hip-vim-syntax' into release-3.27
90a949f7ce HIP: Add HIP language to Vim syntax highlighting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8615
2023-07-11 12:10:32 -04:00
Ben Boeckel
677b28dc7b Ninja: include module mapper flags in compile_commands.json
Fixes: #24618
2023-07-09 11:04:29 -04:00
Cordell Bloor
90a949f7ce HIP: Add HIP language to Vim syntax highlighting
The HIP language shares most properties in common with CXX or CUDA,
although there are a few from each that it doesn't share.
2023-07-07 10:29:39 -04:00
Brad King
cd70f0f9eb Merge topic 'findprotobuf-mingw' into release-3.27
e978b3b814 FindProtobuf: Fix linking to shared libraries on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8609
2023-07-07 10:29:30 -04:00
Brad King
64e66b4be3 Merge topic 'msvc-embed-manifest-direct' into release-3.27
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:36 -04:00