Commit Graph

59565 Commits

Author SHA1 Message Date
Brad King
4c2952c5cb Merge topic 'revert-find_library-msvc-libfoo.a' into release-3.25
955d6245c1 MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7962
2022-11-29 10:15:55 -05:00
Brad King
30e5ef9659 Merge branch 'release-3.24' into release-3.25 2022-11-29 10:13:42 -05:00
Brad King
25f6f98eb1 Merge topic 'mingw-windres' into release-3.25
b47092fddb MinGW: Fix regression when windres is not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7964
2022-11-29 10:06:52 -05:00
Brad King
0674870892 Merge branch 'mingw-windres' into release-3.24
Merge-request: !7964
2022-11-28 19:10:20 -05:00
Brad King
b47092fddb MinGW: Fix regression when windres is not found
The fix in commit e9755bc7c1 (MinGW: Restore using windres when
toolchain-prefixed name is not available, 2022-08-15, v3.24.1~4^2)
incorrectly listed two entries in `CMAKE_RC_COMPILER_INIT`, which is
only meant to have one value.  Revise the logic to support multiple
platform-specific names for the Windows Resource Compiler while still
only using one name as the fallback when it is not found.

Fixes: #24190
Issue: #23841
2022-11-28 19:09:04 -05:00
Brad King
955d6245c1 MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention"
Revert commit be848a71b0 (MSVC: Teach find_library to consider the
'libfoo.a' naming convention, 2022-09-19, v3.25.0-rc1~111^2).  When
targeting the MSVC ABI, this causes GNU-ABI libraries to be found in
cases they were not previously, and broke existing builds.  Revert the
change pending further discussion on how to handle the motivating use
case.

Issue: #23975
Fixes: #24168
2022-11-28 15:42:27 -05:00
Brad King
90907c8ff9 Merge topic 'try_compile-copy-config' into release-3.25
80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !7948
2022-11-23 07:09:09 -05:00
Brad King
3bb47e43f0 Merge topic 'XCode-XCODE_LINK_BUILD_PHASE_MODE-and-LINK_LIBRARY-genex' into release-3.25
61075d2d7b XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7947
2022-11-23 07:08:00 -05:00
Brad King
80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION
Since commit 0c141b0393 (try_compile: Record output location instead of
reverse computing it, 2022-08-31, v3.25.0-rc1~154^2) we always look for
the "Debug" configuration's output binary from the test project.
Restore looking for the `CMAKE_TRY_COMPILE_CONFIGURATION`.

Fixes: #24180
2022-11-22 11:26:28 -05:00
Marc Chevrier
61075d2d7b XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODE
Fixes: #24176
2022-11-22 16:44:45 +01:00
Brad King
3d1f91a245 Merge topic 'cxxmodules-doc-msvc-modmapfmt' into release-3.25
19fc1ba630 Help/dev/experimental: document the `msvc` module map format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7944
2022-11-22 09:51:58 -05:00
Brad King
0a802d0f9e Merge topic 'FindCUDA-nppicom' into release-3.25
3ddfdc38eb FindCUDA: Do not use CUDA_nppicom_LIBRARY in CUDA 11.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7938
2022-11-22 09:45:21 -05:00
Ben Boeckel
19fc1ba630 Help/dev/experimental: document the msvc module map format 2022-11-21 18:20:46 -05:00
Oleksii Udod
3ddfdc38eb FindCUDA: Do not use CUDA_nppicom_LIBRARY in CUDA 11.0+
Extend the change from commit 1d9f2f9714 (FindCUDA: Do not search for
the deprecated nppicom when CUDA >= 11, 2020-06-22, v3.18.0-rc3~14^2)
to also not use the `CUDA_nppicom_LIBRARY` variable.

Issue: #20845
2022-11-18 15:25:05 -05:00
Brad King
87f7553754 Merge topic 'FindCUDAToolkit_handle_nvptxcompiler_static_not_existing' into release-3.25
c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7932
2022-11-18 09:23:35 -05:00
Robert Maynard
c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler
Some versions of the CUDA toolkit don't provide any static
libraries, and therefore we need to handle that `nvptxcompiler_static`
might not be found
2022-11-17 13:41:11 -05:00
Brad King
3e2b3f6639 Merge branch 'release-3.24' into release-3.25 2022-11-17 08:07:15 -05:00
Brad King
daa2fc5833 Merge branch 'test-FindBoost-python-versions' into release-3.24
Merge-request: !7929
2022-11-17 08:06:36 -05:00
Brad King
818ea1e497 Merge topic 'test-FindBoost-python-versions' into release-3.25
6b1f933cb8 Tests: Update FindBoost.TestPython for Python 3.11 and 3.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7929
2022-11-17 08:06:18 -05:00
Brad King
6b1f933cb8 Tests: Update FindBoost.TestPython for Python 3.11 and 3.12
Follow up the python 3.11 and 3.12 support from:

* commit 43844c5d82 (FindPython: Add support for Python 3.11,
                     2021-12-07, v3.22.2~20^2)
* commit ca2877c039 (FindPython: add support for Python 3.12,
                     2022-05-11, v3.23.2~15^2)

with an update for the FindBoost test.
2022-11-16 14:34:07 -05:00
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