Commit Graph

63427 Commits

Author SHA1 Message Date
權少
5bbc9055c0 Help: Fix typo in COMPATIBLE_INTERFACE_NUMBER_MIN 2023-10-11 10:15:11 -04:00
Brad King
346c1e5d57 Merge topic 'findruby-add-support-for-3.2' into release-3.28
77ed529c22 FindRuby: Add support for 3.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8864
2023-10-11 09:29:10 -04:00
Heiko Becker
77ed529c22 FindRuby: Add support for 3.2 2023-10-10 09:25:05 -04:00
Brad King
308d687018 Merge topic 'remove-experimental-settings' into release-3.28
cb7339397b Tests/RunCMake/CXXModules: remove experimental settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8863
2023-10-10 09:07:52 -04:00
Ben Boeckel
cb7339397b Tests/RunCMake/CXXModules: remove experimental settings
Logical conflicts between the topic that introduced the tests and the
removal of the experimental flag completely.
2023-10-07 10:04:54 -04:00
Brad King
43b7af5666 Merge branch 'release-3.27' into release-3.28 2023-10-06 09:44:56 -04:00
Brad King
9532e1cf5b CMake 3.27.7 v3.27.7 2023-10-06 09:08:35 -04:00
Brad King
8547025ff2 Merge topic 'findcuda_toolkit_restore_lib_search_dir' into release-3.28
0b6ae9c467 FindCUDAToolkit: Restore CUDAToolkit_LIBRARY_SEARCH_DIRS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8859
2023-10-06 08:38:13 -04:00
Brad King
24c5a3aecf Merge topic 'cxxmodules-explicit-c++20' into release-3.28
b8ead378de cxxmodules: Scan only targets that explicitly enable C++ 20
68fca3eafe cmGeneratorTarget: Track explicitly enabled language standard levels
da36e0638b cmGeneratorTarget: Remove outdated const/mutable pair
c1f1aedcee cmStandardLevelResolver: Add method to look up standard level by name
23b57462aa cmStandardLevelResolver: Report feature std level from GetNewRequiredStandard
7519001ae6 cmStandardLevelResolver: Add method to get feature standard level
99fa01d3fa cmStandardLevelResolver: Factor out public representation of level
fdd81a609a cmStandardLevelResolver: Clarify local variable name
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8860
2023-10-06 08:36:02 -04:00
Brad King
b8ead378de cxxmodules: Scan only targets that explicitly enable C++ 20
Previously we scanned any targets for which C++ 20 is enabled,
even if enabled only by the compiler's default, such as when
`CXXFLAGS=-std=c++20`.
2023-10-05 13:17:00 -04:00
Brad King
68fca3eafe cmGeneratorTarget: Track explicitly enabled language standard levels
Previously we only tracked when an explicit setting requires the
standard level to be higher than the compiler's default.
2023-10-05 13:16:24 -04:00
Brad King
da36e0638b cmGeneratorTarget: Remove outdated const/mutable pair 2023-10-04 18:45:30 -04:00
Brad King
c1f1aedcee cmStandardLevelResolver: Add method to look up standard level by name 2023-10-04 18:44:44 -04:00
Brad King
23b57462aa cmStandardLevelResolver: Report feature std level from GetNewRequiredStandard
Regardless of whether the feature requires a new (higher) standard
level, always report the standard level that the feature needs.
2023-10-04 18:44:18 -04:00
Brad King
7519001ae6 cmStandardLevelResolver: Add method to get feature standard level 2023-10-04 18:15:04 -04:00
Brad King
99fa01d3fa cmStandardLevelResolver: Factor out public representation of level 2023-10-04 17:14:58 -04:00
Brad King
fdd81a609a cmStandardLevelResolver: Clarify local variable name 2023-10-04 17:14:58 -04:00
Brad King
73a1d422a5 cmStandardLevelResolver: Mark builtin language standards table as const 2023-10-04 17:14:58 -04:00
Brad King
eb534ea5cb Tests: Modernize name of RunCMake.CXXModules compiler inspection case
We use the case name `Inspect` for similar purposes in other tests.
2023-10-04 17:14:58 -04:00
Robert Maynard
0b6ae9c467 FindCUDAToolkit: Restore CUDAToolkit_LIBRARY_SEARCH_DIRS variable
This was accidentally dropped by commit 4316d4dcfd (FindCUDAToolkit:
Search all of `nvcc` implicit includes and library dirs, 2023-09-26).
2023-10-04 12:10:02 -04:00
Brad King
a483637821 Merge topic 'FindPkgConfig-error' into release-3.28
4c96b31e4b FindPkgConfig: Report not-found package names in fatal error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8856
2023-10-04 11:19:36 -04:00
Brad King
1f00b0e230 Merge topic 'LLVMFlang-MSVC' into release-3.28
26bf32cdc6 LLVMFlang: Add support for targeting MSVC ABI on Windows
e9af7b9687 LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGET
26fa048ffe Tests: Enable CMP0091/CMP0141 for MSVC settings in FortranOnly test
9d060b8682 Fortran: Save CMAKE_LINKER variable persistently for MSVC ABI
7571e653f4 CMakeDetermineCompilerABI: Add option to skip implicit link info parsing
12733d0d8d CMakeParseImplicitLinkInfo: Detect link lines using link.exe and lld-link

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8852
2023-10-04 11:18:40 -04:00
Brad King
bbba1879ff Merge topic 'cxxmodules-verify-c++20' into release-3.28
7ac696549a cxxmodules: Fix CMP0155 NEW behavior when C++ compile features are not known

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8857
2023-10-03 17:21:17 -04:00
Brad King
7ac696549a cxxmodules: Fix CMP0155 NEW behavior when C++ compile features are not known
With CMP0155 NEW behavior, we scan C++ sources in targets using C++ 20,
i.e., in which the `cxx_std_20` feature is available.  However, our
check for C++ feature availability may incorrectly succeed in two cases:

* MSVC versions from VS 2013 do not model C++ standard levels,
  so we assume all features are available as a heuristic to let
  projects at least try compiling with them.

* During ABI detection the `CMAKE_CXX20_COMPILE_FEATURES` variable is not
  populated so we assume all features are available, knowing that our
  ABI detection project does not need them.

For purposes of detecting targets using C++ 20, we do not want to assume
`cxx_std_20` is available, so verify that we really know it is.
2023-10-03 16:06:46 -04:00
Anthony Baker
4c96b31e4b FindPkgConfig: Report not-found package names in fatal error message 2023-10-03 11:59:12 -04:00
Brad King
8bd2c8d1fd Begin 3.28 release versioning 2023-10-03 11:22:54 -04:00
Brad King
959a409c20 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2023-10-03 11:21:24 -04:00
Brad King
8cb987878b Merge topic 'doc-3.28-relnotes'
5df79d1930 Help: Update Sphinx versionadded directives for 3.28 release
4eb2386901 Help: Organize and revise 3.28 release notes
32f3966521 Help: Consolidate 3.28 release notes
2c4f579124 Help: Fix versionadded indentation in cmake-generator-expressions(7) manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8855
2023-10-03 11:20:33 -04:00
Brad King
5df79d1930 Help: Update Sphinx versionadded directives for 3.28 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.27.0 --overwrite

Manually remove directives added to new documentation of existing
environment variables.
2023-10-03 11:07:16 -04:00
Brad King
4eb2386901 Help: Organize and revise 3.28 release notes
Add section headers similar to the 3.27 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2023-10-03 11:07:16 -04:00
Brad King
32f3966521 Help: Consolidate 3.28 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.28.rst`.
2023-10-03 10:46:13 -04:00
Brad King
2c4f579124 Help: Fix versionadded indentation in cmake-generator-expressions(7) manual
Fix indentation of the `versionadded` markup added by commit 634079b86d
(cmGeneratorExpressionEvaluator: Short-circuit boolean operators,
2023-09-11) to render the note in the appropriate scope.
2023-10-03 10:46:13 -04:00
Brad King
cbc0fd68a5 Merge topic 'cmDebugTools-add-header'
b0612796b1 cmDebugTools: add header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8849
2023-10-03 09:28:51 -04:00
Brad King
533ee95839 Merge branch 'release-3.27' 2023-10-03 09:27:29 -04:00
Brad King
615e95af60 Merge topic 'FindPostgreSQL-16'
25644a78de FindPostgreSQL: Add support for version 16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8854
2023-10-03 09:27:29 -04:00
Brad King
f69278850e Merge topic 'FindPostgreSQL-16' into release-3.27
25644a78de FindPostgreSQL: Add support for version 16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8854
2023-10-03 09:27:27 -04:00
Brad King
26bf32cdc6 LLVMFlang: Add support for targeting MSVC ABI on Windows
The compiler does not yet support everything needed to integrate well
with the MSVC ABI, in particular for runtime library selection and debug
format selection.  Document them in FIXME comments and leave this
support undocumented by CMake for now.

Fixes: #24840
Inspired-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
2023-10-03 09:15:24 -04:00
Kitware Robot
94c90cb855 CMake Nightly Date Stamp 2023-10-03 00:01:13 -04:00
Brad King
e9af7b9687 LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGET 2023-10-02 18:52:02 -04:00
Brad King
26fa048ffe Tests: Enable CMP0091/CMP0141 for MSVC settings in FortranOnly test 2023-10-02 18:52:01 -04:00
Brad King
9d060b8682 Fortran: Save CMAKE_LINKER variable persistently for MSVC ABI
We already do this for other languages including C and CXX.
2023-10-02 18:52:00 -04:00
Brad King
7571e653f4 CMakeDetermineCompilerABI: Add option to skip implicit link info parsing
Provide a way to do the parsing earlier and not overwrite it here.
2023-10-02 18:51:59 -04:00
Brad King
12733d0d8d CMakeParseImplicitLinkInfo: Detect link lines using link.exe and lld-link
These are printed by LLVM-based compiler drivers targeting the MSVC ABI.
In our use case for this, `CMAKE_LINKER` may not yet be known, so do
not include it in the test data.
2023-10-02 18:51:46 -04:00
Brad King
25644a78de FindPostgreSQL: Add support for version 16
Fixes: #25292
2023-10-02 14:44:04 -04:00
Brad King
8735cbba5d Merge topic 'cxxmodules-no-longer-experimental'
437280b127 cxxmodules: scan C++ sources for imports by default
3cddd11649 Ninja: message about not compiled sources explicitly
068fde1c34 cmGeneratorTarget: use `this->` for method calls
197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
ff18acc301 CXXModules: remove `EXPERIMENTAL` from C++ module variable names
0c07f39006 cmExperimental: remove the flag for C++ modules
68caec9137 Help: add a manpage for cxxmodule support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8828
2023-10-02 11:55:38 -04:00
Brad King
0cafd637f6 Merge topic 'FindQt4-doc-typo'
f8332bec19 FindQt4: Fix typo in documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8853
2023-10-02 11:50:29 -04:00
Brad King
1d2465b8af Merge topic 'libuv-win-process'
fe2ecf920f libuv: win,process: avoid kernel bug with starting Windows Store apps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8846
2023-10-02 10:34:54 -04:00
Ben Boeckel
437280b127 cxxmodules: scan C++ sources for imports by default
Existing projects are not using C++ modules in their sources,
so introduce policy CMP0155 to enable scanning by default.
2023-10-02 10:17:31 -04:00
Ben Boeckel
3cddd11649 Ninja: message about not compiled sources explicitly
With CMP0155, filesets with only non-compiled sources do not go through
the collation path that detects it. Detect it explicitly like the Visual
Studio generator does.
2023-10-02 10:17:31 -04:00
Ben Boeckel
068fde1c34 cmGeneratorTarget: use this-> for method calls 2023-10-02 10:17:31 -04:00