Commit Graph

63418 Commits

Author SHA1 Message Date
Kitware Robot
84a4e294fc CMake Nightly Date Stamp 2023-10-06 00:01:17 -04:00
Kitware Robot
0d5a247dfa CMake Nightly Date Stamp 2023-10-05 00:01:15 -04:00
Brad King
118ae85f27 Merge branch 'release-3.28' 2023-10-04 11:19:37 -04:00
Brad King
4e5067b76e Merge topic 'FindPkgConfig-error'
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:37 -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
7f4584d482 Merge branch 'release-3.28' 2023-10-04 11:18:42 -04:00
Brad King
4c0300a1b8 Merge topic 'LLVMFlang-MSVC'
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:41 -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
Kitware Robot
1b88c0b641 CMake Nightly Date Stamp 2023-10-04 00:01:22 -04:00
Brad King
4459d25c4a Merge branch 'release-3.28' 2023-10-03 17:21:18 -04:00
Brad King
89a065613d Merge topic 'cxxmodules-verify-c++20'
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:18 -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
debfb09e49 Begin post-3.28 development 2023-10-03 11:24:20 -04:00
Brad King
8584dca52a Merge branch 'release-3.28' 2023-10-03 11:23:31 -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
Ben Boeckel
197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
Now that scanning support is no longer experimental, the logic for
whether or not to scan C++ 20 sources is now important because all
projects are now exposted to the logic. Make the scanning rules explicit
in the documentation and rework the queries to localize all of the
associated logic.

A policy to handle the ultimate fallback logic will be implemented in a
following commit.
2023-10-02 10:17:31 -04:00
Ben Boeckel
5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
Only Clang needs to disable extensions in order to work; other
implementations work as-is.
2023-10-02 10:17:31 -04:00
Ben Boeckel
ff18acc301 CXXModules: remove EXPERIMENTAL from C++ module variable names 2023-10-02 10:17:31 -04:00
Ben Boeckel
0c07f39006 cmExperimental: remove the flag for C++ modules
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.

Fixes: #18355
2023-10-02 10:17:31 -04:00
Ben Boeckel
68caec9137 Help: add a manpage for cxxmodule support 2023-10-02 10:17:31 -04:00
Brad King
f8332bec19 FindQt4: Fix typo in documentation formatting 2023-10-02 09:52:59 -04:00
Brad King
3278d7b449 Merge branch 'release-3.27' 2023-10-02 09:00:02 -04:00
Brad King
ad4bed1679 Merge topic 'doc-CMP0124'
55bf2a3494 Help: Document CMP0124 behavior on already-set variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8850
2023-10-02 09:00:02 -04:00
Brad King
196960043d Merge topic 'doc-CMP0124' into release-3.27
55bf2a3494 Help: Document CMP0124 behavior on already-set variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8850
2023-10-02 09:00:01 -04:00