Commit Graph

55220 Commits

Author SHA1 Message Date
Brad King
9a1b301c85 gitlab-ci: add sanity check to upload jobs
Ensure that the upload destination is not empty.
2022-04-05 15:00:17 -04:00
Brad King
cb44e0d47c gitlab-ci: distinguish release and development pipeline schedules
Redefine the `CMAKE_CI_PACKAGE` pipeline schedule variable to
indicate whether it is for a development version (`dev`) or a
release version (`v[0-9]...`).  Use this to automatically turn
package upload jobs on or off without having to edit the jobs
in `.gitlab-ci.yml` for release branches.
2022-04-04 13:23:37 -04:00
Brad King
3a9a9a3ace gitlab-ci: clarify name of package upload job template
The template is used to upload both source and binary packages.
2022-04-04 13:23:35 -04:00
Brad King
345a7e3ee4 Merge branch 'release-3.21' into release-3.22 2022-03-26 08:36:34 -04:00
Brad King
0906a9b53d Merge branch 'aix-exe-exports' into release-3.22
Merge-request: !7120
2022-03-26 08:36:31 -04:00
Brad King
024204fe0d Merge branch 'aix-exe-exports' into release-3.21
Merge-request: !7120
2022-03-26 08:36:17 -04:00
Brad King
a8dae21ac1 AIX: Fix executable ENABLE_EXPORTS in Makefile generators
In commit afcd9fe669 (AIX: Add an option to disable automatic exports
from shared libraries, 2020-01-30, v3.17.0-rc1~47^2) the population of
the `<AIX_EXPORTS>` rule variable placeholder was accidentally added to
the device linking rule rather than the main linking rule.  This caused
our `ExportImportList` script on AIX, when called for executables with
`ENABLE_EXPORTS` set, to be given an `AIX_EXPORTS` file name that does
not exist, leading to a warning from the `dump` tool.

Move the population of the `<AIX_EXPORTS>` placeholder in the Makefile
generators to the main link rule.

Issue: #20290
2022-03-26 08:28:59 -04:00
Brad King
01a4be3c60 Merge branch 'cpack-nsis-fix-uninstall-quoting' into release-3.22
Merge-request: !7096
2022-03-21 14:54:53 -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
Brad King
0abd49ebb9 Merge branch 'release-3.21' into release-3.22 2022-03-21 14:13:56 -04:00
Brad King
2b0f96ce56 Merge branch 'rel-win-docker' into release-3.22
Merge-request: !7087
2022-03-21 14:13:44 -04:00
Brad King
f71e89ae42 Merge branch 'rel-win-docker' into release-3.21
Merge-request: !7087
2022-03-21 14:13:31 -04:00
Brad King
a6aa88e51f Utilities/Release: Add "source" stage to Windows docker spec
Revise the spec added by commit ff929badb3 (Utilities/Release: Add
docker specs to build and test Windows binaries, 2020-05-05,
v3.18.0-rc1~203^2~1) to add a `source` stage that stops just after
copying the source tree into the image.  This provides more granular
control to driving scripts.
2022-03-18 09:50:55 -04:00
Brad King
c41978274e Merge branch 'FindPython-pypy-specify-versions' into release-3.22
Merge-request: !7081
2022-03-17 10:15:09 -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
Brad King
4a4fa6ae54 Merge branch 'release-3.21' into release-3.22 2022-03-16 10:51:07 -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
12e03d7051 Merge branch 'binutils-llvm-ar-apple' into release-3.21
Merge-request: !7077
2022-03-16 10:50:43 -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
4dd0deca7d Merge branch 'release-3.21' into release-3.22 2022-03-11 10:33:42 -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
Brad King
bb99538a45 Merge branch 'AppleClang-cxx20-cxx23-flags' into release-3.21
Merge-request: !7063
2022-03-11 10:33:02 -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
dfdcb4fc3d Merge branch 'backport-3.22-ci-msvc-19.31' into release-3.22
Merge-request: !7059
2022-03-09 12:59:55 -05:00
Brad King
90a9bff01e Merge branch 'irsl-oneapi-linux' into release-3.22
Merge-request: !7057
2022-03-09 12:58:09 -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
Brad King
e66de43180 gitlab-ci: Update Windows builds to MSVC 19.31 toolset 2022-03-09 10:02:01 -05:00
Brad King
71268ca934 Merge branch 'release-3.21' into release-3.22 2022-03-08 11:55:31 -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
33ed5b97fe Merge branch 'binutils-llvm-mt' into release-3.21
Merge-request: !7054
2022-03-08 11:54:58 -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
Brad King
5424bf5c8a Merge branch 'FindMatlab-minver' into release-3.22
Merge-request: !7047
2022-03-07 10:13:25 -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
6e9eaf209d CMake 3.22.3 v3.22.3 2022-03-04 12:06:35 -05:00
Brad King
e7c9304504 Merge branch 'release-3.21' into release-3.22 2022-03-04 11:54:30 -05:00
Brad King
78ae759e01 CMake 3.21.6 v3.21.6 2022-03-04 10:52:43 -05:00
Brad King
5419cc3b8b Merge branch 'while-bug-compatibility' into release-3.22
Merge-request: !7041
2022-03-03 16:54:35 -05:00
Alex Turbov
da2361ffb3 while: Restore tolerance of condition error
Since commit 880ca66b51 (Fix: `while()` can silently ignore incorrect
condition, 2021-08-09, v3.22.0-rc1~238^2~4) we correctly reject the
code

    set(paren "(")
    while(${paren})
    endwhile()

However, rejecting it breaks compatibility with projects that used such
code accidentally.  In CMake 3.21 and below, any error in the condition
was ignored because the `false` result exited the loop first.  Restore
tolerance of the error for now.  A policy will be needed to make it an
error later.

Note that the same condition with `if` was always correctly rejected.

Fixes: #22524
Issue: #23296
Co-authored-by: Brad King <brad.king@kitware.com>
2022-03-03 16:51:34 -05:00
Brad King
47d197745a Tests: Simplify RunCMake.{if,while} unbalanced parenthesis cases 2022-03-03 16:51:34 -05:00
Brad King
4331f97118 Merge branch 'release-3.21' into release-3.22 2022-03-03 12:58:14 -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
e47e5c7959 Merge branch 'binutils-llvm-ar-clang-macos' into release-3.21
Merge-request: !7039
2022-03-03 12:55:33 -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
371235e0d7 Merge branch 'release-3.21' into release-3.22 2022-02-28 13:09:25 -05:00
Brad King
7a16688f02 Merge branch 'FindThreads-revert-libc-pthread-flag' into release-3.22
Merge-request: !7025
2022-02-28 13:09:19 -05:00
Brad King
02b04f1ca8 Merge branch 'FindThreads-revert-libc-pthread-flag' into release-3.21
Merge-request: !7025
2022-02-28 13:09:00 -05:00
Brad King
c6da90bd39 FindThreads: Revert "Honor THREADS_PREFER_PTHREAD_FLAG when ... in libc"
Revert commit 5efb6fb516 (FindThreads: Honor THREADS_PREFER_PTHREAD_FLAG
when pthread is found in libc, 2021-11-03, v3.21.5~4^2).  The check for
the `-pthread` flag can pass on compilers like XL, that interprets it as
`-p -t hread` and returns zero.  Prior to that commit, we did not use
the check in the `CMAKE_HAVE_LIBC_PTHREAD` code path.  Now we do, it
succeeds, and we incorrectly add the `-pthread` flag for XL.

This change was backported to the 3.21 and 3.22 release series long
after they initially came out.  Since there may be more cases where we
now add `-pthread` incorrectly, it is simplest to revert the change in
all release series pending further investigation.

Fixes: #23270
2022-02-28 12:53:15 -05:00
Brad King
fa9bba4905 Merge branch 'test-qt-disable' into release-3.22
Merge-request: !6998
2022-02-17 11:11:20 -05:00
Brad King
5bfff3c750 Tests: Add missing guards on Qt4 and Qt5 tests
Add missing `CMake_TEST_Qt{4,5}` conditions on Qt4 an Qt5 tests.
Configuring CMake with `-DCMake_TEST_Qt5=OFF` should prevent any
attempt to search for Qt5.

Fixes: #23239
2022-02-17 11:00:25 -05:00