Commit Graph

59620 Commits

Author SHA1 Message Date
Brad King 51235d14eb Merge topic 'msvc-cxx-no-optin-experimental-flag' into release-3.25
12e4bc73cb MSVC: don't opt into dyndep support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7965
2022-11-29 10:22:47 -05:00
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
Ben Boeckel 12e4bc73cb MSVC: don't opt into dyndep support
Instead, just set the variables for how scanning works since that is
part of the compiler mechanisms.

Fixes: #24198
2022-11-28 18:02:51 -05:00
Brad King 19509249a5 Android: Revert setting LINUX variable on Android target systems
Since commit 62cd3904bf (variable: Set LINUX variable on Linux target
systems, 2022-08-10, v3.25.0-rc1~320^2), the `Platform/Android` module
inherits the `LINUX` variable setting from `Platform/Linux`.  While
Android may use a Linux kernel, `CMAKE_SYSTEM_NAME` is not `Linux`, and
the platform does not follow conventions of most Linux distributions.

Fixes: #24196
2022-11-28 16:58:54 -05:00
Zhong Ruoyu f6b99c5087 Check*: Restore support for arbitrary result variable names
In commit db76876db5 (Modules: Use new SOURCES_FROM_* try_compile (1/2),
2022-09-26, v3.25.0-rc1~74^2~1) and commit 41f7b1169a (Modules: Use new
SOURCES_FROM_* try_compile (2/2), 2022-09-26, v3.25.0-rc1~74^2) the
switch to `SOURCE_FROM_*` required a stronger precondition (the second
argument to check_include_files must not have path components) than
before (any variable name could be used).

Fix that by transforming the variable name to a C identifier before
feeding it to try_compile as a filename.  The filename is unspecified by
the documentation, and the file itself is only temporary, so that should
work fine.

I have gone through all the occurrences of `SOURCE_FROM_*`, and
identified these two that require changes.  The rest should work fine as
the filenames do not depend on input variable names.

Fixes: #24204
2022-11-28 16:53:12 -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
Hannes Braun 0d7f40a5c4 FindRuby: Remove documentation for non-existent Ruby_ROOT_DIR
Documentation was added by commit 905d5667e8 (FindRuby: Add support for
RVM installations, 2020-03-23, v3.18.0-rc1~497^2), but this feature was
never implemented.

Closes: #21528
2022-11-28 10:35:00 -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