Commit Graph

12297 Commits

Author SHA1 Message Date
Marc Chevrier
5440eafaae FindPython: Add support for pypy v7.3.9 and uppers
Library name versioning has changed.

Fixes: #23439
2022-04-20 15:29:50 +02:00
Brad King
8fd65bef7d Merge topic 'doc-CheckPIESupported' into release-3.23
91c859d1e5 CheckPIESupported: Prevent separate output lines running together
ab5455aa79 Help: Correct/add missing details for CheckPIESupported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7157
2022-04-12 08:18:09 -04:00
Craig Scott
91c859d1e5 CheckPIESupported: Prevent separate output lines running together 2022-04-11 09:06:37 -04:00
Craig Scott
ab5455aa79 Help: Correct/add missing details for CheckPIESupported 2022-04-11 09:06:37 -04:00
Even Rouault
23671318f3 FindPostgreSQL: add support for PostgreSQL 14 2022-04-11 09:00:18 -04:00
Craig Scott
a10fc754a6 CheckSourceCompiles: Avoid linker warning with -fembed-bitcode
When the Apple linker sees -headerpad_max_install_names and
bitcode is enabled with a flag like -fembed-bitcode, it issues a warning
and ignores the -headerpad_max_install_names flag. This causes
unrelated compiler and linker flag checks to fail for valid flags.
In f745e0497e (CheckCompilerFlags: Catch linker warning about ignored
flags, 2022-01-03), we started detecting linker warnings, which caused
a regression for projects that were setting -fembed-bitcode in their
CMAKE_CXX_FLAGS or similar. Prevent that regression by removing
the -headerpad_max_install_names linker flag when we know it will
warn and be ignored anyway.

Fixes: #23390
Issue: #23408
2022-04-09 21:51:09 +10:00
Brad King
9dd585d12c CheckCompilerFlag: Fix regression in locale environment preservation
Fix a typo from commit 660e0d80ae (internal/CheckCompilerFlag: rely on
common configuration, 2022-01-12, v3.23.0-rc1~124^2~1) that caused
locale environment variables to not be restored after they are set
during the check.
2022-04-07 15:07:48 -04:00
Brad King
99fc8f152c Merge topic 'GNUInstallDirs-revert-multiarch-prefixes' into release-3.23
624ec3692f GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7127
2022-03-31 08:50:24 -04:00
Ben Boeckel
7a614977f9 CMakeDependentOption: improve documentation
This makes it far clearer that `<depends>` is a list up front instead of
burying the lede because a list is generally "trivially true" in CMake[1].
Also clarify that `<force>` is only available as a local variable and if
queried outside of the "scope" of the `cmake_dependent_option` call,
will get the stored user cache value.

[1] The exception being when the last entry ends in `-NOTFOUND`.

Suggested-by: Rui Oliveira
2022-03-30 16:05:37 -04:00
Brad King
624ec3692f GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes"
Revert commit dd9584b352 (GNUInstallDirs: Apply Debian multiarch LIBDIR
to more prefixes, 2021-11-19, v3.23.0-rc1~323^2).  There are separate
problems with activating multiarch `LIBDIR` for each prefix it added:

* Prefix `/` is often used to stage an installation with `DESTDIR`
  for inclusion in a tarball package or similar.

* Prefix `/usr/local` is the default `CMAKE_INSTALL_PREFIX`, causing
  the multiarch `LIBDIR` to be cached after the first configuration,
  even if the prefix changes later.

Revert the change for now, except for the documentation update.
Further discussion will be needed to select a way to enable
multiarch `LIBDIR` for `/` and `/usr/local`.

Fixes: #23365
Issue: #19698
2022-03-30 11:51:01 -04:00
Brad King
2dffc7c8fd Merge topic 'cpack-ifw-4.3' into release-3.23
343ed1f913 CPack/IFW: Add support for QtIFW 4.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7114
2022-03-28 10:51:41 -04:00
Mehdi Chinoune
ef2fa9b03b GetPrerequisties: pass "-a" only to grep. 2022-03-25 09:07:44 -04:00
Craig Scott
343ed1f913 CPack/IFW: Add support for QtIFW 4.3 2022-03-25 22:05:24 +11:00
Brad King
73939fb3cb Merge topic 'productbuild-rootVolumeOnly' into release-3.23
2a8df7e7db productbuild: Don't write rootVolumeOnly attribute if writing domains
95eb8cbcfc CPack: Avoid space / tab mix in productbuild distribution.xml template
28fdc3a536 productbuild: Simplify internal CPACK_PRODUCTBUILD_DOMAINS usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7092
2022-03-22 08:51:01 -04:00
Brad King
21fa99320f Merge topic 'cpack-nsis-fix-uninstall-quoting' into release-3.23
5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings
b795c96727 CPack/NSIS: Fix uninstall command when run from installer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7096
2022-03-22 08:45:03 -04:00
Marc Jeanmougin
5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings 2022-03-21 14:53:44 -04:00
Marc Jeanmougin
b795c96727 CPack/NSIS: Fix uninstall command when run from installer
The quoting introduced by commit eb3b3bacdc (CPack/NSIS: Fix uninstall
on Windows using "Apps & Features", 2021-09-13, v3.22.0-rc1~136^2)
created two errors in the uninstaller call: double quoting of the
uninstaller executable, and quotes added to the `_?=` argument which
does not support them.  Simplify the command.
2022-03-21 14:53:31 -04:00
Robert Maynard
3e7113e644 FindCUDAToolkit: Add missing cufftw_static target
Fixes #23347
2022-03-21 09:40:17 -04:00
Craig Scott
2a8df7e7db productbuild: Don't write rootVolumeOnly attribute if writing domains
The rootVolumeOnly attribute is deprecated. Apple docs say to use
domains instead.

Fixes: #23343
2022-03-21 15:43:46 +11:00
Craig Scott
95eb8cbcfc CPack: Avoid space / tab mix in productbuild distribution.xml template 2022-03-21 14:31:09 +11:00
Michael Hirsch
6032213456 FindMatlab: Add R2022a => 9.12 version 2022-03-18 07:22:42 -04:00
Brad King
528a426c8e Merge topic 'FindPython-pypy-specify-versions' into release-3.23
2834cea155 FindPython: fix various problems using pypy interpreters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7081
2022-03-18 07:18:04 -04:00
Marc Chevrier
2834cea155 FindPython: fix various problems using pypy interpreters
* add more possible directories for include file search
* enhance version detection from library and include files
* search for file pypy_decl.h when PyPy.h is not defined
2022-03-17 14:53:40 +01:00
Kai Pastor
fcc0119af0 FindPostgreSQL: Update known versions in documentation 2022-03-17 09:41:57 -04:00
Brad King
b2ba662ca6 Merge topic 'doc-list-semicolons' into release-3.23
8abd714176 Help: Clarify that ENVIRONMENT test properties take ;-separated lists
02cf404ace Help: Add advice for dealing with semicolons in lists
c4117d9116 ExternalProject: Document that LIST_SEPARATOR works for CMAKE_ARGS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7066
2022-03-16 11:14:58 -04:00
Brad King
1925a5ccc2 Merge topic 'binutils-llvm-ar-apple' into release-3.23
fee36b7a78 BinUtils: Restore llvm-ar fallback on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7077
2022-03-16 11:09:44 -04:00
Brad King
2db936e59a Merge branch 'binutils-llvm-ar-apple' into release-3.22
Merge-request: !7077
2022-03-16 10:51:03 -04:00
Brad King
fee36b7a78 BinUtils: Restore llvm-ar fallback on Apple platforms
Since commit 29ea94e17c (BinUtils: Avoid llvm-ar on Apple platforms,
2022-03-03, v3.21.6~1^2) we do not consider `llvm-ar` at all on Apple
platforms.  However, there are existing cross-compiling use cases in
which the toolchain has `llvm-ar` but not `ar`.  Prior to the
re-ordering in commit cf82300a63 (BinUtils: Clarify search logic and
make it more consistent, 2021-05-27, v3.21.0-rc1~119^2~2), we preferred
`ar` and then `llvm-ar`.  Restore the original order for Apple.

Fixes: #23320
2022-03-16 10:46:11 -04:00
Brad King
941605e427 Merge topic 'AppleClang-cxx20-cxx23-flags' into release-3.23
683e4e9cab AppleClang: Add C++20 and C++23 flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7063
2022-03-15 12:46:32 -04:00
Brad King
c4117d9116 ExternalProject: Document that LIST_SEPARATOR works for CMAKE_ARGS too
Since `CMAKE_ARGS` is used to construct the default `CONFIGURE_COMMAND`
for CMake-based external projects, the `LIST_SEPARATOR` option works for
it too.
2022-03-11 11:15:53 -05:00
Brad King
7523a1da6e Merge branch 'AppleClang-cxx20-cxx23-flags' into release-3.22
Merge-request: !7063
2022-03-11 10:33:16 -05:00
Ken Matsui
683e4e9cab AppleClang: Add C++20 and C++23 flags
Follow up commit 886e27062b (Clang/MSVC: C++20 final flag, C++23
support, 2021-05-29, v3.20.4~7^2) with support for AppleClang.
2022-03-11 10:00:21 -05:00
Brad King
ed663af8a2 Merge topic 'cuda-arch-off' into release-3.23
7024596a26 Tests: Fix testing CMAKE_CUDA_ARCHITECTURES=OFF with Clang
2a79b647fa CUDA: Restore support for CMAKE_CUDA_ARCHITECTURES=OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7058
2022-03-10 09:08:04 -05:00
Brad King
e3b9338e97 Merge topic 'irsl-oneapi-linux' into release-3.23
3e84a06b3a IRSL: Add paths for Intel oneAPI compilers on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7057
2022-03-10 06:43:10 -05:00
Attila Krasznahorkay
3e84a06b3a IRSL: Add paths for Intel oneAPI compilers on Linux
They are stored in a slightly different place with oneAPI than they
used to be in PSXE.

A similar change was made for Windows by commit 956160bb9a (IRSL: Fix
search for Windows redist files with Intel Classic compiler, 2021-09-23,
v3.22.0-rc1~88^2), which left a comment about the locations relative to
the Classic and oneAPI compilers.

Fixes: #23310
2022-03-09 12:53:37 -05:00
Robert Maynard
2a79b647fa CUDA: Restore support for CMAKE_CUDA_ARCHITECTURES=OFF
Fixes: #23309
2022-03-09 12:30:12 -05:00
Brad King
0402d35168 Merge topic 'binutils-llvm-mt' into release-3.23
73d0d4e4b5 BinUtils: Avoid llvm-mt because it is missing 'mt' features we use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7054
2022-03-09 12:10:14 -05:00
Brad King
3f737ba2ec Merge branch 'binutils-llvm-mt' into release-3.22
Merge-request: !7054
2022-03-08 11:55:16 -05:00
Brad King
73d0d4e4b5 BinUtils: Avoid llvm-mt because it is missing 'mt' features we use
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we correctly prefer the
more-specific name `llvm-mt` over `mt` when using Clang.  However, the
`llvm-mt` tool does not yet support all the flags we need in the
implementation of `vs_link_{exe,dll}`.  Prefer plain `mt` for now.

Fixes: #23305
2022-03-08 11:48:30 -05:00
Kenneth Soerensen
bd3e23a605 IAR: Fix detection of modern C++ version
The change in commit cc4da8d13a (IAR/CXX: Fix compatibility with CMP0057
OLD, 2022-01-29, v3.23.0-rc1~46^2) broke the detection of C++ version
because the `IN_LIST` operator cannot work directly on a list but
requires a variable.
2022-03-08 09:34:48 -05:00
Brad King
1d9b545390 Merge topic 'FindMatlab-minver' into release-3.23
bb2c7b7dc0 FindMatlab: Fix logic error when minimum version is not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7047
2022-03-08 08:22:09 -05:00
Michael Hirsch
bb2c7b7dc0 FindMatlab: Fix logic error when minimum version is not found
Fix logic added by commit 7fdd5128b1 (FindMatlab: Fix version selection
if a version is given, 2021-07-02, v3.22.0-rc1~66^2).  Ensure that
`_list_index` is always initialized to -1, akin to `list(FIND)` not
finding a match.

Issue: #22377
2022-03-07 10:12:43 -05:00
Brad King
71a8b4e63d Merge topic 'binutils-llvm-ar-clang-macos' into release-3.23
29ea94e17c BinUtils: Avoid llvm-ar on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7039
2022-03-04 08:52:05 -05:00
Brad King
7edc09b4f6 Merge branch 'binutils-llvm-ar-clang-macos' into release-3.22
Merge-request: !7039
2022-03-03 12:58:00 -05:00
Brad King
29ea94e17c BinUtils: Avoid llvm-ar on Apple platforms
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we correctly prefer the
more-specific name `llvm-ar` over `ar` when using Clang.  However, on
Apple platforms, `llvm-ar` does not generate a symbol table that the
Apple linker accepts.  Fall back to `ar` on Apple platforms.

Fixes: #23269
2022-03-03 12:54:10 -05:00
Brad King
5c1f5357b0 VS: Fix CUDA compiler id with CMAKE_CUDA_ARCHITECTURES={all,all-major}
Skip the architecture verification check for these values on Visual
Studio.  It cannot be implemented correctly until future work delays the
check to the main compiler test step.

Issue: #23164, #23161
2022-03-02 15:49:14 -05:00
Brad King
04a7200c75 Merge topic 'cuda-arch-all' into release-3.23
2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+
e450d55552 Help: Update CUDA_ARCHITECTURES docs for generic all/all-major support
fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7026
2022-03-02 07:52:17 -05:00
Brad King
2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+
Changes in commit 8f64df0a7c (CUDA: Generic all and all-major support,
2021-12-19, v3.23.0-rc1~23^2) broke our architecture verification checks
when using `-arch={all,all-major}` with NVCC 11.5+.  If we test the
compiler with `-arch={all,all-major}`, we have no expected list of
architectures, so skip the check.

Fixes: #23278
2022-03-01 12:16:40 -05:00
Brad King
893ba6c5c3 Merge topic 'FindThreads-revert-libc-pthread-flag' into release-3.23
c6da90bd39 FindThreads: Revert "Honor THREADS_PREFER_PTHREAD_FLAG when ... in libc"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7025
2022-03-01 08:37:58 -05:00
Brad King
fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic
Refactor the logic checking `CMAKE_CUDA_ARCHITECTURES` special values.
Switch on the value first, and then make other decisions for each case.
This makes room for other special values to be added later.
2022-02-28 21:30:23 -05:00