55126 Commits

Author SHA1 Message Date
Brad King
8428e39ed9 CMake 3.22.2 v3.22.2 2022-01-25 08:45:06 -05:00
Brad King
6e60257739 Merge topic 'doc-3.22-patches' into release-3.22
1461eff899 Help: Add missing 3.22.1 section to the release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6895
2022-01-25 08:20:43 -05:00
Brad King
2a620b3d31 Merge branch 'release-3.21' into release-3.22 2022-01-25 06:56:48 -05:00
Brad King
7f7f3ba277 Merge topic 'ci-xcode-13.2' into release-3.22
8cb32fc8ad gitlab-ci: update macOS jobs to use Xcode 13.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6897
2022-01-25 06:55:45 -05:00
Brad King
74f14997c6 Merge branch 'ci-xcode-13.2' into release-3.21
Merge-request: !6897
2022-01-25 05:43:40 -05:00
Brad King
8cb32fc8ad gitlab-ci: update macOS jobs to use Xcode 13.2 2022-01-25 05:06:40 -05:00
Brad King
1461eff899 Help: Add missing 3.22.1 section to the release notes
3.22.1 had no release notes because there were no changes to documented
features or interfaces.  Now that we have a 3.22.2 section, add one
for the previous patch release to avoid confusion.
2022-01-24 12:41:27 -05:00
Brad King
b13be8613a Merge topic 'cmp0128_cuda' into release-3.22
ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default
b2c25de8e0 CMP0128: Avoid test code duplication
3a089cd256 CMP0128: Prefix test names with mode
e13dd52535 XL: Detect default extensions mode for legacy compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6890
2022-01-24 12:37:51 -05:00
Raul Tambre
ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default
Commit 4a0485be (cmStandardLevelResolver: Avoid unnecessary flags, fix unset
level logic, 2021-04-29) unintentionally changed the behavior by modifying the
code to match a pre-existing comment. The resulting behavior change however
matches the intentions of CMP0128, so we simply need to guard it.

Fixes #23122.
2022-01-23 23:10:28 +02:00
Raul Tambre
b2c25de8e0 CMP0128: Avoid test code duplication 2022-01-23 23:10:28 +02:00
Raul Tambre
3a089cd256 CMP0128: Prefix test names with mode
Makes clear that these tests are for the NEW behaviour.
2022-01-23 23:10:28 +02:00
Raul Tambre
e13dd52535 XL: Detect default extensions mode for legacy compiler
The legacy non-Clang variant seems to support a GNU-like extensions mode, which
is the default. Enable detection for it.
2022-01-23 23:10:28 +02:00
Brad King
a5109e676f Merge topic 'FortranCInterface-gcc-12-lto' into release-3.22
6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6879
2022-01-20 11:58:04 -05:00
Björn Esser
6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO
Since version 12.0 the GCC Fortran compiler has implemented "WG5/N1942",
which causes, if link-time opmization is enabled, obfuscation of hard-coded
string values in the compiler objects and its resulting ELF-binaries.

This causes the CMake-internal detection of the mangling scheme for the
naming of subroutines to fail.  Thus we must ensure to have any link-time
optimization features to be disabled on the executable file we perform the
detection on.

The static libraries, however, must be build with LTO and non-LTO objects,
as that will ensure the verify step will operate on IPO objects, if building
those is requested by the system compiler flags.

Fixes: #23123

Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2022-01-19 20:47:38 +01:00
Brad King
d79c40b1d5 Merge branch 'release-3.21' into release-3.22 2022-01-13 15:20:44 -05:00
Brad King
f47ffab9c8 Merge topic 'vs2022-v143-link-guard-cf' into release-3.22
9e24437c91 VS: Remove the '/guard:cf' flag from v143 link flag table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6858
2022-01-13 15:18:48 -05:00
Brad King
88198e65f6 Merge branch 'vs2022-v143-link-guard-cf' into release-3.21
Merge-request: !6858
2022-01-12 16:53:51 -05:00
Benjamin Sluis
9e24437c91 VS: Remove the '/guard:cf' flag from v143 link flag table
Apply the change from commit db35e3cfd6 (VS: Fix support for '/guard:cf'
linker flag for v142, 2019-01-24, v3.14.0-rc1~74^2~2) to the v143 flag
table.

The entry for `LinkControlFlowGuard` in `v143_Link.json` does not work
when used in a `.vcxproj` file.  Drop our link flag table entries for
this toolset so that the flag will be passed via `AdditionalOptions`.

Also add a test case.
2022-01-12 16:45:07 -05:00
Brad King
67442ca471 Merge topic 'msvc-isystem' into release-3.22
3a8b6653dc MSVC: Use -external:I flag without space to support Clang tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6855
2022-01-12 09:51:31 -05:00
Brad King
eb4e99563c Merge topic 'file-READ_ELF-capture-error' into release-3.22
41bebbe50a file: Restore error capture in undocumented READ_ELF mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6853
2022-01-12 09:45:06 -05:00
Brad King
3a8b6653dc MSVC: Use -external:I flag without space to support Clang tools
Since commit f29e1874ad (Compiler/MSVC: use the `-external:I` flag for
system includes, 2020-05-19, v3.22.0-rc1~593^2) we use the new flag
followed by the include directory as a separate argument.  Some versions
of `clang-cl` and `clang-tidy` do not support the flag unless the
include directory is attached to it, so use that form instead.

Fixes: #22979
2022-01-11 16:36:36 -05:00
Brad King
41bebbe50a file: Restore error capture in undocumented READ_ELF mode
Revise the error message added by commit 115ff6a347 (cmELF: Include the
ELF parsing code unconditionally, 2021-06-17, v3.22.0-rc1~557^2) to
honor the `CAPTURE_ERROR` option.  This is needed by the call site in
`BundleUtilities` to suppress errors on non-ELF files.

Fixes: #23074
2022-01-11 12:46:06 -05:00
Brad King
4b8126fa40 Merge topic 'armasm-6.17' into release-3.22
c2777ed008 ASM: Fix identification of armasm 6.17+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6833
2022-01-07 09:40:14 -05:00
Jukka Jalkanen
c2777ed008 ASM: Fix identification of armasm 6.17+
Spelling of "ARM Compiler" changed to "Arm Compiler".
2022-01-06 11:55:38 -05:00
Brad King
b00388a7e7 Merge topic 'ci-windows-no-java' into release-3.22
85a07b4b49 ci: Explicitly disable Java tests on VS builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6826
2021-12-22 09:35:28 -05:00
Brad King
85a07b4b49 ci: Explicitly disable Java tests on VS builds
Extend the change from commit 840fa28d3d (ci: Explicitly disable Java
tests on Windows, 2021-12-16) to cover VS builds too.
2021-12-22 09:09:08 -05:00
Brad King
a2752fd914 Merge topic 'FindBoost-1.78' into release-3.22
d45667d459 FindBoost: Do not warn about now-supported version 1.78

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6819
2021-12-21 09:28:01 -05:00
Brad King
c74c8b5928 Merge topic 'FindGLUT-include-dirs' into release-3.22
ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6814
2021-12-20 09:30:00 -05:00
Brad King
d45667d459 FindBoost: Do not warn about now-supported version 1.78
In commit d176ff71c0 (FindBoost: Add support for Boost 1.78, 2021-12-15)
we forgot to update the future-version check.

Issue: #23016
2021-12-20 09:03:54 -05:00
Brad King
ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path
Since commit f90d15458a (FindGLUT: Use pkg-config to find flags if
available, 2021-06-11, v3.22.0-rc1~469^2) we return early if pkg-config
provides the information.  During review of that commit, code to
populate the legacy `GLUT_INCLUDE_DIR` result variable was removed from
that code path.  Add code to provide it.

Also fix the test case to use `GLUT_INCLUDE_DIR`, the result variable
documented officially by the module.

Fixes: #23018
2021-12-17 15:17:29 -05:00
Brad King
92ecf5c989 Merge topic 'FindBoost-python-3.10' into release-3.22
d4bb6c0c7f FindBoost: Add support for Python 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6809
2021-12-17 08:54:52 -05:00
Brad King
896abbb7c1 Merge branch 'release-3.21' into release-3.22 2021-12-17 08:53:09 -05:00
Brad King
5cd7a6ac1e Merge topic 'vs-intel-oneapi-toolset' into release-3.22
612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6806
2021-12-17 08:52:02 -05:00
Oleg Sidorkin
d4bb6c0c7f FindBoost: Add support for Python 3.10
Regexps in FindBoost assumed that python's minor version had only one
digit.  That became not true for 3.10.

Fixes: #23025
2021-12-16 15:15:12 -05:00
Brad King
a1da2c38dd Merge topic 'ci-windows-no-java' into release-3.22
840fa28d3d ci: Explicitly disable Java tests on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6807
2021-12-16 11:08:40 -05:00
Brad King
840fa28d3d ci: Explicitly disable Java tests on Windows
Avoid searching for a Java installation on Windows hosts.
This will allow some CI hosts to have Java for other projects.

We already do this on macOS.  While at it, clarify the macOS setting.
2021-12-16 11:03:30 -05:00
Brad King
cee2d5b1e2 Merge topic 'FindBoost-1.78' into release-3.22
d176ff71c0 FindBoost: Add support for Boost 1.78

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6804
2021-12-16 10:25:53 -05:00
Brad King
b8e0b40734 Merge branch 'vs-intel-oneapi-toolset' into release-3.21
Merge-request: !6806
2021-12-15 15:58:43 -05:00
William R. Dieter
612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021
The logic added by commit 7808cbd644 (CMakeDetermineCompilerId: support
Intel DPC++ compiler toolset for VS gen, 2020-12-06, v3.20.0-rc1~330^2)
matches a specific toolset known to be the `icx.exe` compiler, and
assumes all other Intel C++ compilers (that are not DPC++) must be
`icl.exe`.

Since `icx.exe` is officially replacing `icl.exe`, use a regex that
matches the now-fixed set of toolsets known to use `icl.exe`.  Any other
Intel C++ compiler will be assumed to be `icx.exe`.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-12-15 15:56:20 -05:00
Brad King
d176ff71c0 FindBoost: Add support for Boost 1.78
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_78_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.78.0 source tree.

The dependencies differ from those of 1.77:

* The `log` component no longer depends on `date_time`.

Fixes: #23016
2021-12-15 10:22:53 -05:00
Brad King
29442a4638 Merge topic 'android-system-stl' into release-3.22
38b00f8801 Android: Fix linking android_support for pre-21 system STL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6799
2021-12-14 09:40:16 -05:00
Ryan Prichard
38b00f8801 Android: Fix linking android_support for pre-21 system STL
This typo was introduced in commit 4dca078829 (Android: Link c++abi and
android_support when necessary, 2020-10-29, v3.20.0-rc1~541^2).

Fixes: #23004
2021-12-13 10:43:14 -05:00
Brad King
6752fb2889 Merge topic 'python3.11-support' into release-3.22
43844c5d82 FindPython: Add support for Python 3.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !6792
2021-12-08 09:53:58 -05:00
Tomáš Hrnčiar
43844c5d82 FindPython: Add support for Python 3.11 2021-12-07 12:41:01 -05:00
Brad King
aa6a33fe54 CMake 3.22.1 v3.22.1 2021-12-07 10:44:21 -05:00
Brad King
932921d550 Merge topic 'rel-macos-sign-notarize' into release-3.22
bed4b1583e Utilities/Release: Add script to sign/notarize macOS application bundle

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6784
2021-12-07 10:41:14 -05:00
Brad King
25e9131c79 Merge topic 'makefile-CMAKE_EXPORT_COMPILE_COMMANDS-HIP' into release-3.22
b59f7600c4 HIP: Enable CMAKE_EXPORT_COMPILE_COMMANDS for HIP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6789
2021-12-07 09:54:09 -05:00
Brad King
7fcc8791b4 Merge topic 'lib-arch-no-usr' into release-3.22
d4ba945c48 CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6790
2021-12-07 09:37:28 -05:00
Brad King
b59f7600c4 HIP: Enable CMAKE_EXPORT_COMPILE_COMMANDS for HIP
Fixes: #22986
2021-12-07 09:34:49 -05:00
Brad King
bed4b1583e Utilities/Release: Add script to sign/notarize macOS application bundle
We produce macOS binaries for `cmake.org` using GitLab CI jobs.
Binaries for official releases are additionally signed and notarized
manually by a maintainer with suitable signing certificates and Apple
developer account credentials.  Add a script to drive these steps.
2021-12-06 17:11:26 -05:00