59545 Commits

Author SHA1 Message Date
Brad King
13e46189c7 CMake 3.25.0 v3.25.0 2022-11-16 09:42:03 -05:00
Brad King
7621eec766 Merge topic 'qtifw-4.5' into release-3.25
351239b776 CPack/IFW: Add support for QtIFW 4.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7920
2022-11-16 08:59:13 -05:00
Brad King
23183a6ad7 Merge topic 'cmp0141-pch-reuse' into release-3.25
94164ea55e CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7914
2022-11-16 08:57:03 -05:00
Erlend E. Aasland
351239b776 CPack/IFW: Add support for QtIFW 4.5
Fixes: #24164
2022-11-15 16:30:50 -05:00
Brad King
94164ea55e CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is empty
Under the policy's NEW behavior, `[CMAKE_]MSVC_DEBUG_INFORMATION_FORMAT`
may be explicitly set to an empty string to tell CMake not to add any
flags for this abstraction.  In this case, fall back to checking the
language-wide flags as we do in the OLD behavior.

This revises commit 183b9a9eca (CMP0141: Fix PCH REUSE_FROM under policy
NEW behavior, 2022-10-31, v3.25.0-rc3~4^2).

Issue: #24106
2022-11-15 06:57:02 -05:00
Brad King
3555265f1d Merge branch 'release-3.24' into release-3.25 2022-11-14 12:17:27 -05:00
Brad King
8ad8c4432f Merge branch 'release-3.23' into release-3.24 2022-11-14 12:17:21 -05:00
Brad King
7f51a044d9 Merge branch 'compile-msvc-14.34-c++20' into release-3.25
Merge-request: !7910
2022-11-14 12:17:02 -05:00
Brad King
3e0ccd6469 Merge branch 'compile-msvc-14.34-c++20' into release-3.24
Merge-request: !7910
2022-11-14 12:16:46 -05:00
Brad King
2ac207f046 Merge branch 'compile-msvc-14.34-c++20' into release-3.23
Merge-request: !7910
2022-11-14 12:16:27 -05:00
Werner, Joerg
a394c9416d cmGlobalVisualStudioGenerator: Fix compiling as C++20 in VS 2022
Adding missing narrow string conversion.

This backports commit f3c918ef1b (cmGlobalVisualStudioGenerator: Fix
compiling as C++20 in VS 2022, 2022-10-20, v3.25.0-rc3~31^2) to the
CMake 3.23 and 3.24 branches.

Fixes: #24162
2022-11-14 12:07:16 -05:00
Brad King
d41243efc9 Merge topic 'msvc-19.34-cpp-modules' into release-3.25
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7745
2022-11-14 10:18:20 -05:00
Brad King
7e3389ce42 Merge topic 'iar-asm-archid' into release-3.25
f9ff6ab2d1 IAR: Fix ASM compiler architecture detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7903
2022-11-14 10:15:55 -05:00
Ben Boeckel
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental
Visual Studio 17.4 now contains official support for what CMake needs.
2022-11-11 16:54:05 -05:00
Felipe Torrezan
f9ff6ab2d1 IAR: Fix ASM compiler architecture detection
Narrow the regex to match the actual supported architectures,
avoiding mismatched detection.

Fixes: #24145
2022-11-11 09:08:03 -05:00
Brad King
d85f866baa Merge topic 'ci-msvc-14.34' into release-3.25
bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
ccdff280f4 gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7891
2022-11-11 08:29:10 -05:00
Brad King
13cfbd3639 Merge topic 'ci-clang15-windows' into release-3.25
46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows
3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
8ba5835c8d ci: Factor out helper to load clang into environment on Windows
bf2e4a2e85 ci: Factor out helper to load ninja into environment on Windows
93ff726114 Tests: Fix TryCompile bad source case for clang-cl 15 on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7897
2022-11-11 08:26:31 -05:00
Brad King
f3f79be958 Merge topic 'fix-cxx20-detection' into release-3.25
5e7c8f44ac Ninja: Restore support for compilers not defining a C++ standard level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Jaeden Amero <kitware@patater.com>
Acked-by: Martin Kojtal <martin.kojtal@arm.com>
Merge-request: !7896
2022-11-11 08:19:50 -05:00
Brad King
b31196f1d7 Merge branch 'release-3.24' into release-3.25 2022-11-11 08:16:31 -05:00
Brad King
6b6b906412 Merge topic 'expat-c-no-extensions' into release-3.25
019af62294 expat: Activate POSIX APIs even without compiler extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7899
2022-11-11 08:11:14 -05:00
Brad King
0325f04762 Merge branch 'expat-c-no-extensions' into release-3.24
Merge-request: !7899
2022-11-10 16:07:14 -05:00
Raul Tambre
019af62294 expat: Activate POSIX APIs even without compiler extensions
Compile with the preprocessor definitions necessary for the `arc4random`
family so it's available even when compiler extensions are not enabled.
Similar things are done in cmbzip2, cmcurl, cmlibarchive, cmliblizma and
cmlibuv.

This issue surfaced on a nightly bot after glibc 2.36 added arc4random
functions. cmlibarchive defines the necessary macro, but also relies on
`HAVE_ARC4RANDOM_BUF`.  cmlibarchive's check with the necessary macro
defined was skipped due to cmexpat running the same check before, but
without the macros, and it being cached.

This extends commit c7c3e39e4f (Utilities: Activate POSIX APIs even
without compiler extensions, 2022-06-02, v3.24.0-rc1~34^2) to cover our
build of expat too.

Issue: #20454
2022-11-10 16:04:38 -05:00
Brad King
bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
Problems with `cmake-gui` when compiled with the MSVC 14.33 toolset,
that did not occur with the MSVC 14.32 toolset, no longer occur with the
MSVC 14.34 toolset.  Revert commit cb8b27a901 (gitlab-ci: Use separate
MSVC toolset specification for packaging jobs, 2022-08-18, v3.24.2~24^2~1)
and update the remaining toolset version references.

Fixes: #23859
2022-11-10 13:27:38 -05:00
Brad King
ccdff280f4 gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset 2022-11-10 13:27:37 -05:00
Brad King
46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows 2022-11-10 13:24:57 -05:00
Brad King
3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
Move environment setup to job-specific scripts so we can reuse
the common `.cmake_test_windows_external` code path.
2022-11-10 13:24:51 -05:00
Brad King
8ba5835c8d ci: Factor out helper to load clang into environment on Windows 2022-11-10 13:24:31 -05:00
Brad King
bf2e4a2e85 ci: Factor out helper to load ninja into environment on Windows 2022-11-10 12:57:55 -05:00
Brad King
93ff726114 Tests: Fix TryCompile bad source case for clang-cl 15 on Windows
When `pass.c bad#source.c` passes through `nmake`, the compiler gets
`pass.c bad`.  The clang-cl 15 compiler now fails on `bad` with an
error that we did not previously match.  Update our regex.
2022-11-10 12:57:55 -05:00
Lingkai Dong
5e7c8f44ac Ninja: Restore support for compilers not defining a C++ standard level
Since commit 386465bf83 (cmTarget: add support for C++ module fileset
types, 2022-04-08, v3.25.0-rc1~624^2~7), the Ninja generator checks for
C++20 support using logic that requires `CMAKE_<LANG>_STANDARD_DEFAULT`
to be non-empty.  On some compilers, such as ARMClang, CMake does not
automatically detect and set default language standards, thus causing
`HaveStandardAvailable` to raise an internal error.

To fix this issue, if `CMAKE_CXX_STANDARD_DEFAULT` is empty, assume all
standards to be supported instead of calling `HaveStandardAvailable`.
This is consistent with how `CompileFeaturesNode::Evaluate` handles this
case.

Fixes: #24146
2022-11-10 11:01:40 -05:00
Brad King
e12aa71393 Merge topic 'cmake-gui-restore-version-info' into release-3.25
ec76a9c22f cmake-gui: Restore embedded version information in Windows binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7895
2022-11-10 09:59:41 -05:00
Brad King
c2635ec021 Merge topic 'curl-windows-no-tls1.3' into release-3.25
c0a4536cec curl: Disable schannel TLS 1.3 support on Windows 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7894
2022-11-10 09:58:33 -05:00
Brad King
c0a4536cec curl: Disable schannel TLS 1.3 support on Windows 11
Curl 7.85.0 introduced support for TLS 1.3 support with schannel.
We've observed connection failures in some cases, so disable the
support pending further investigation.

Fixes: #24147
2022-11-09 17:05:39 -05:00
Brad King
ec76a9c22f cmake-gui: Restore embedded version information in Windows binary
Refactoring in commit 89a1e1c1be (Build: Link w/ `OBJECT` library is OK
since 3.12, 2022-08-21, v3.25.0-rc1~97^2~19) dropped the `.res` object
containing this information from the `cmake-gui` link line.  Restore it.
2022-11-09 16:54:46 -05:00
Brad King
e242fa19ca Merge topic 'doc-guide-link-style' into release-3.25
977c38c339 Help: Render guide links as normal text instead of monospace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7886
2022-11-09 09:29:52 -05:00
Brad King
30c42dbbad CMake 3.25.0-rc4 v3.25.0-rc4 2022-11-08 13:20:19 -05:00
Alex Turbov
977c38c339 Help: Render guide links as normal text instead of monospace
The guide document names are phrases, not code-like man-page names.
Add CSS selectors for `:guide:` links and revert unnecessary properties.
2022-11-08 09:53:20 -05:00
Brad King
c30cd5fef1 Merge topic 'sphinx-linkcheck' into release-3.25
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
ac5295a9de Help: Fix broken external links found by sphinx linkcheck

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7876
2022-11-08 09:02:30 -05:00
Brad King
09fb50a167 Merge topic 'doc-block-return' into release-3.25
1046a61cfd Help: clean up and clarify block() and return()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7872
2022-11-08 09:01:23 -05:00
Brad King
f7c29ba254 Merge topic 'block-var-scope' into release-3.25
96ddcbee60 cmState: Clarify name of member tracking the active scope in a directory
cb53d9309e block: Fix variable scope protection from modification by subdirectories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7885
2022-11-08 09:00:13 -05:00
Brad King
db24442007 Merge topic 'doc-msvc-abi' into release-3.25
128c414a56 Help: Clarify compilers affected by MSVC ABI abstractions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7881
2022-11-08 08:16:43 -05:00
Brad King
5e0bd923bd Merge topic 'FindOpenSSL-mingw-lib64' into release-3.25
ed24414eee FindOpenSSL: Search "lib64" for mingw 64-bit installs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7875
2022-11-08 08:15:09 -05:00
Brad King
f3a4c73c68 Merge topic 'tasking_update_toolset_doc' into release-3.25
beade1cb42 Tasking: Update CMAKE_TASKING_TOOLSET documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7880
2022-11-08 08:13:22 -05:00
Brad King
488b976cf1 Merge topic 'tasking_remove_system_processor' into release-3.25
0a1d558971 Tasking: Remove CMAKE_SYSTEM_PROCESSOR support per CMP0123

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7879
2022-11-08 08:11:41 -05:00
Craig Scott
1eb8922f69 Merge topic 'doc-find-validator' into release-3.25
7e1a4567fb Help: Make VALIDATOR wording clearer and more precise

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7874
2022-11-08 06:42:29 -05:00
Brad King
96ddcbee60 cmState: Clarify name of member tracking the active scope in a directory
The `DirectoryEnd` member added by commit 52dbe654de (cmState: Record
the end position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1)
actually tracks the current top-most scope in a directory's stack.  This
is evidenced by the use case in commit 3f4e5e8c3d (cmState: Return end
snapshot for GetBuildsystemDirectoryParent., 2015-09-01,
v3.4.0-rc1~100^2~1).  Rename the member to `CurrentScope` to clarify
this role.
2022-11-07 14:36:46 -05:00
Brad King
cb53d9309e block: Fix variable scope protection from modification by subdirectories
When `cmStateSnapshot::RaiseScope` raises a variable in to a parent
directory scope, it uses `GetBuildsystemDirectoryParent` to find the
current top-most scope on the directory's stack.  Since commit 3f4e5e8c3d
(cmState: Return end snapshot for GetBuildsystemDirectoryParent.,
2015-09-01, v3.4.0-rc1~100^2~1), that depends on the `DirectoryEnd`
field in the directory's state.  However, when variable-only scopes were
added by commit 6954c8936f (cmState: Add a VariableScope snapshot type.,
2015-08-01, v3.4.0-rc1~179^2~1), we neglected to account for the
addition of that field by commit 52dbe654de (cmState: Record the end
position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1).

Prior to commit 44a2f3f332 (Add new flow-control commands for variables
and policies scopes management, 2022-08-05, v3.25.0-rc1~257^2) this
problem went unnoticed because there was no way to have a variable scope
at the top of a directory's stack while processing a subdirectory. Now
the `block()/endblock()` commands enable the behavior, so fix tracking
of a variable scope as the top-most scope in a directory.

Fixes: #24138
2022-11-07 14:24:24 -05:00
Brad King
128c414a56 Help: Clarify compilers affected by MSVC ABI abstractions
The `MSVC_DEBUG_INFORMATION_FORMAT` and `MSVC_RUNTIME_LIBRARY`
abstractions apply to any compilers targeting the MSVC ABI.

Fixes: #24137
2022-11-07 10:47:15 -05:00
Alex Turbov
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
Mostly it's about replace `http:` with `https:` protocol.
2022-11-07 10:07:36 -05:00
Alex Turbov
ac5295a9de Help: Fix broken external links found by sphinx linkcheck 2022-11-07 10:05:41 -05:00