Commit Graph

63523 Commits

Author SHA1 Message Date
Brad King ed154b3896 CMake 3.28.0-rc4 v3.28.0-rc4 2023-11-06 11:50:13 -05:00
Brad King 1e7489e3ac Merge topic 'cdash-report-urls' into release-3.28
06661b1e4c gitlab-ci: pull annotations for CDash from the jobs
a518e402c5 ci: generate annotation reports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8939
2023-11-03 10:38:47 -04:00
Kyle Edwards 86ae23b6f3 Merge topic 'cmsystemtools-runsinglecommand-stdin' into release-3.28
c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8941
2023-11-03 10:28:35 -04:00
Ben Boeckel 06661b1e4c gitlab-ci: pull annotations for CDash from the jobs
Only move `cdash-build-id` between stages that make sense.
2023-11-02 15:24:45 -04:00
Ben Boeckel a518e402c5 ci: generate annotation reports
These will render links in the sidebar for each job.

See: https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportsannotations
2023-11-02 15:24:45 -04:00
Kyle Edwards c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process
Fixes: #25383
2023-11-02 10:04:00 -04:00
Brad King ae84de5a0c Merge topic 'cuda-vs' into release-3.28
79f3f29e50 CUDA: Parse NVCC implicit compile/link information in Visual Studio generators
27e64a8498 CMakeNVCCParseImplicitInfo: Recognize link.exe line in CUDA VS integration
045399a461 CMakeParseImplicitLinkInfo: Ignore MSVC link /implib: flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8938
2023-11-02 09:35:56 -04:00
Brad King 79f3f29e50 CUDA: Parse NVCC implicit compile/link information in Visual Studio generators
Refactoring in commit deff0e638d (CUDA: Factor out helper to parse NVCC
implicit compiler and linker flags, 2023-09-15, v3.28.0-rc1~63^2~6)
incorrectly dropped detection of the default CUDA architecture and
the CUDA toolkit include directories from the code path used for
Visual Studio generators.  However, CMakeNVCCParseImplicitInfo is
now general enough that we no longer need a VS-specific code path.

Fixes: #25378
2023-11-01 13:51:21 -04:00
Brad King 27e64a8498 CMakeNVCCParseImplicitInfo: Recognize link.exe line in CUDA VS integration 2023-11-01 13:51:10 -04:00
Brad King 59c3ce4c83 Merge topic 'cxxmodules-cmp0155-graceful-fallback-without-scanner' into release-3.28
1f507580a1 cmGlobalGenerator: give context about module queries
889aa0354a CMP0155: ignore scanning for sources if no scanner is available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8925
2023-11-01 13:48:14 -04:00
Brad King 045399a461 CMakeParseImplicitLinkInfo: Ignore MSVC link /implib: flag
The flag specifies the import library for the linked binary.
It is not a linked library.
2023-11-01 13:07:43 -04:00
Brad King 8b95e3ff43 Merge topic 'ctest-windows-color' into release-3.28
2553a78aa7 ctest: Allow colored output on Windows if CLICOLOR_FORCE is set to 1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8932
2023-11-01 10:06:58 -04:00
Ben Boeckel 1f507580a1 cmGlobalGenerator: give context about module queries
Some queries are merely investigating support in order to change
behavior. Let the method know so that any internal errors can be skipped
over.
2023-11-01 09:52:13 -04:00
Ben Boeckel 889aa0354a CMP0155: ignore scanning for sources if no scanner is available
This allows for a more graceful transition for projects using C++20
without scanner support (e.g., Clang 15 or GCC 13). While newer
compilers will (needlessly) scan, it allows C++20-using projects to use
older compilers without having to set `CMAKE_CXX_SCAN_FOR_MODULES` to
support newer CMake minimum versions.

Fixes: #25357
2023-11-01 09:52:08 -04:00
Cristian Adam 2553a78aa7 ctest: Allow colored output on Windows if CLICOLOR_FORCE is set to 1
Windows 10 supports ANSI colors since v1511. For earlier versions of Windows
installing ANSICON will enable ANSI colors in cmd.exe.

For those setups where the environment is set up with CLICOLOR_FORCE set
to 1 ctest should honor the setting and emit colored ANSI output.
2023-11-01 09:43:59 -04:00
Brad King e416b3122e Merge branch 'release-3.27' into release-3.28 2023-11-01 09:40:31 -04:00
Brad King 3f7419a124 Merge topic 'revert-GetPrerequisites-linux-x86' into release-3.28
139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8933
2023-11-01 09:39:59 -04:00
Brad King 257d6766c6 Merge branch 'revert-GetPrerequisites-linux-x86' into release-3.27
Merge-request: !8933
2023-11-01 09:39:44 -04:00
Brad King 139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd"
Revert commit cf2ad9995a (GetPrerequisites: Ignore relative paths
printed by ldd, 2023-02-20, v3.27.0-rc1~459^2) because it regressed
existing use cases.  We will need to find another solution to the use
case motivating the change.

Fixes: #25372
2023-10-31 14:15:29 -04:00
Brad King ff60cd6c67 Merge branch 'release-3.27' into release-3.28 2023-10-31 09:13:51 -04:00
Brad King aa7f1416f9 Merge branch 'modules-depends-via-target-objects' into release-3.27
Merge-request: !8923
2023-10-31 09:13:25 -04:00
Brad King 3a515b31b3 Merge topic 'modules-depends-via-target-objects' into release-3.28
22da18b995 Fortran: Restore support for TARGET_OBJECTS providing modules
64d9240564 cmComputeLinkInformation: skip over linking to items for object purposes
035302b7e3 cmComputeLinkDepends: also copy the target from object link items
861876b936 Tests/ObjectLibrary: fix comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8923
2023-10-31 09:12:28 -04:00
Brad King d33ea3dff5 Merge topic 'FindFreeType-config-windows' into release-3.28
0117446c97 FindFreeType: also set `FREETYPE_FOUND`
2cf2d4f7df FindFreeType: insert Freetype's location to the start
1cfc708eea FindFreeType: handle config-specific `LOCATION` settings as well
ae9890cd36 FindFreeType: consider `IMPLIB`-using platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8920
2023-10-31 09:10:42 -04:00
Ben Boeckel 0117446c97 FindFreeType: also set FREETYPE_FOUND
Fixes: #25371
2023-10-30 10:51:10 -04:00
Ben Boeckel 22da18b995 Fortran: Restore support for TARGET_OBJECTS providing modules
Continue b665966933 (cmComputeLinkInformation: track OBJECT library
dependencies, 2023-07-22) which added explicitly listed `OBJECT`
libraries to the list of targets which the collator needs to consider.
Now also consider targets which provide objects directly to the target
via a `$<TARGET_OBJECT>` source lists.

Also add tests which use target objects directly and through an
`INTERFACE` library with target objects in its own sources.

Fixes: #25365
2023-10-30 10:06:12 -04:00
Brad King 6474d5d03a Merge topic 'cxxmodules-ninja-forced-rsp-files' into release-3.28
09c962a6a4 Tests/CXXModules: test forced rsp files with ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8926
2023-10-30 08:26:08 -04:00
Brad King 9e1667e62a Merge topic 'cmp0153-suggestion' into release-3.28
d3cc815c98 CMP0153: Add suggestion to use execute_process()
8313d26198 cmState::AddDisallowedCommand(): Allow additional warning info

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !8921
2023-10-30 08:22:09 -04:00
Brad King 14563cb7dc Merge topic 'FindProtobuf-restore-protoc-include-path' into release-3.28
d7f7bf08cd FindProtobuf: Fix protoc include path regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matias Lopez <mlopez203@bloomberg.net>
Merge-request: !8922
2023-10-30 08:20:16 -04:00
Ben Boeckel 2cf2d4f7df FindFreeType: insert Freetype's location to the start
This should help static builds satisfy dependencies by listing
transitive libraries after freetype's.
2023-10-28 14:59:07 -04:00
Ben Boeckel 1cfc708eea FindFreeType: handle config-specific LOCATION settings as well
`vcpkg` builds release and debug variants on platforms other than
Windows (which uses the `IMPLIB` properties).
2023-10-28 14:59:07 -04:00
Ben Boeckel 09c962a6a4 Tests/CXXModules: test forced rsp files with ninja
Fixes: #25367
2023-10-27 23:55:39 -04:00
Ben Boeckel 64d9240564 cmComputeLinkInformation: skip over linking to items for object purposes
If a name is only found because it is a link entry of kind `Object`, do
not add anything to the link line.
2023-10-27 15:52:01 -04:00
Ben Boeckel 035302b7e3 cmComputeLinkDepends: also copy the target from object link items 2023-10-27 13:25:33 -04:00
Ben Boeckel 861876b936 Tests/ObjectLibrary: fix comment 2023-10-27 13:25:33 -04:00
André Apitzsch d7f7bf08cd FindProtobuf: Fix protoc include path regression
This was accidentally broken by commit 31adc11030 (FindProtobuf: Add
PLUGIN_OPTIONS and PROTOC_OPTIONS to protobuf_generate, 2023-06-29,
v3.28.0-rc1~409^2~2).

Fixes: #25368
2023-10-27 11:41:28 -04:00
Kyle Edwards d3cc815c98 CMP0153: Add suggestion to use execute_process() 2023-10-27 09:43:18 -04:00
Kyle Edwards 8313d26198 cmState::AddDisallowedCommand(): Allow additional warning info 2023-10-27 09:42:53 -04:00
Ben Boeckel ae9890cd36 FindFreeType: consider IMPLIB-using platforms
See: https://github.com/microsoft/vcpkg/issues/34725
2023-10-26 12:44:29 -04:00
Brad King e3747a2d4b CMake 3.28.0-rc3 v3.28.0-rc3 2023-10-24 13:46:27 -04:00
Brad King 81dc8b9db8 Merge topic 'cmcldeps-quote-rc' into release-3.28
03080d18eb cmcldeps: Restore support for rc.exe path not fully GetShortPathName-d

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8912
2023-10-24 08:29:08 -04:00
Brad King b93e602e28 Merge topic 'source_group-TREE-no-FILES' into release-3.28
8bb949fc30 source_group: Restore behavior of TREE with empty FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8910
2023-10-24 08:27:20 -04:00
Brad King 03080d18eb cmcldeps: Restore support for rc.exe path not fully GetShortPathName-d
In some cases `GetShortPathNameW` may not remove all spaces.  If that
happens with the path to `rc.exe`, cmcldeps needs to explicitly quote
the path in the command it runs.

This was exposed by commit 50a6e78a82 (cmSystemTools::RunSingleCommand():
Replace cmsysProcess with cmUVProcessChain, 2023-07-25, v3.28.0-rc1~138^2~4)
because the underlying process execution library no longer reconstructs the
command line without quotes around commands without spaces.

Fixes: #25355
2023-10-23 17:03:01 -04:00
Brad King b99e99e1aa Merge topic 'clang-ansi-color' into release-3.28
74b5fae52d Clang: Use -fno-ansi-escape-codes for color diagnostics on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8900
2023-10-23 12:06:33 -04:00
Brad King 8bb949fc30 source_group: Restore behavior of TREE with empty FILES
Since commit d85238a2f2 (source_group: Fix TREE without FILES,
2023-06-29, v3.28.0-rc1~399^2~1) we incorrectly treat a FILES
argument with no values as if it were not given at all.

Fixes: #25353
2023-10-23 10:53:28 -04:00
Cristian Adam 74b5fae52d Clang: Use -fno-ansi-escape-codes for color diagnostics on Windows
-fno-ansi-escape-codes is used only on Windows by Clang.

Without the flag color diagnostics are displayed only if clang.exe
is executed directly. Build tools like ninja and mingw32-make
will not display colored diagnostics.

Using -fno-ansi-escape-codes will make the build tools pass
the colored diagnostics to the calling application e.g IDE.

Fixes: #24235
2023-10-23 09:41:29 -04:00
Brad King 34c51a385b Merge topic 'ninja-better-order-depends' into release-3.28
ed45432571 cmNinjaTargetGenerator: do not order-depend on C++ module sources
0973cd6702 cmNinjaTargetGenerator: use the file set visibility API
4625170925 cmFileSet: add a query for includeable file set types
51f9d9f0a2 cmNinjaTargetGenerator: avoid traversing old outputs repeatedly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8902
2023-10-23 09:39:22 -04:00
Brad King 2acff7ab81 Merge topic 'doc-modules-deprecated' into release-3.28
75ca6e17f2 Help: Move some deprecated modules to the dedicated sections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8903
2023-10-23 09:38:31 -04:00
權少 75ca6e17f2 Help: Move some deprecated modules to the dedicated sections 2023-10-20 09:01:33 -04:00
Ben Boeckel ed45432571 cmNinjaTargetGenerator: do not order-depend on C++ module sources
C++ module sources should not be included by any other TUs, so their
presence cannot matter for order-only dependencies of the entire target.
Exclude them.

Update CMP0154 to take this into consideration and add tests to the
`CXXModules` suite (which already deals with module support detection).
2023-10-20 07:18:33 -04:00
Ben Boeckel 0973cd6702 cmNinjaTargetGenerator: use the file set visibility API 2023-10-19 23:09:33 -04:00