Commit Graph

368 Commits

Author SHA1 Message Date
doufu
7def566e92 Utilities/Release: Update to Qt 5.15.10 on windows-{x86_64,i386} builds
Fixes: #25187
Co-authored-by: Brad King <brad.king@kitware.com>
2023-09-07 09:03:25 -04:00
Brad King
ef2bab7687 Utilities/Release: Update docker specs for linux-x86_64 to centos 7
Update the centos base image from centos 6 to centos 7.  The latter is
the minimum version supported by libuv 1.45.  The resulting binaries
require GLIBC 2.17.
2023-08-16 14:29:55 -04:00
Brad King
30b1080c69 Utilities/Release: Remove unused documentation build settings
Since commit 37e015d4a6 (Utilities/Sphinx: Refactor Sphinx reference
recording, 2023-03-08, v3.27.0-rc1~342^2~1) our documentation requires
Python 3.7 or higher.  This is not available in the base images we use
to build Linux release binaries.  These days our release packaging CI
pipeline builds the documentation in a separate job anyway.
2023-08-16 12:25:22 -04:00
Brad King
21df34b255 Tests: Modernize name of option to control existence of BootstrapTest 2023-05-18 13:41:31 -04:00
Brad King
4d929544c7 Merge topic 'rel-win-sign-digest'
870f30aacc Utilities/Release: Use explicit digest for Win7-compatible signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7970
2022-11-30 09:57:47 -05:00
Brad King
870f30aacc Utilities/Release: Use explicit digest for Win7-compatible signature
Otherwise `signtool` warns.
2022-11-30 09:16:22 -05:00
Kyle Edwards
bf7e3124cb Remove stale references to CMakeServerLib 2022-08-02 11:05:52 -04:00
Dubach, Joev
9dbcfb8fdd MSVC: Recognize -XYZ as well as /XYZ when parsing MS tool command lines
Fixes: #23772
2022-07-27 16:51:15 -04:00
Brad King
3a888b2dda Merge topic 'rel-macos-sign-notarize'
432ae51467 Utilities/Release: Update macOS notarization script to use notarytool

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7463
2022-07-08 12:16:23 -04:00
Brad King
69ce5c0ce8 Merge topic 'rel-macos-sign-notarize' into release-3.24
432ae51467 Utilities/Release: Update macOS notarization script to use notarytool

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7463
2022-07-08 12:16:22 -04:00
Brad King
432ae51467 Utilities/Release: Update macOS notarization script to use notarytool
`xcnotary` is no longer needed since `altool` has been deprecated in
favor of `notarytool`, which has builtin support for waiting.
2022-07-08 12:14:23 -04:00
Cristian Adam
e0d9ee0cc4 Utilities/Release: Simplify script to build Qt 6.3.0 Windows binaries
Revise and simplify the script from commit d0c9225a7e
(Utilities/Release: Add script to build Qt 6.3.0 Windows binaries,
2022-06-10, v3.24.0-rc1~4^2~5).  For `cmake-gui` we only need QtBase.
Also, convert to a `.cmake` script.

Issue: #21902
2022-06-17 11:04:10 -04:00
Brad King
d084718eb9 Utilities/Release: Add windows-arm64 package to file table 2022-06-13 15:27:34 -04:00
Brad King
d0c9225a7e Utilities/Release: Add script to build Qt 6.3.0 Windows binaries
These may be used to build CMake binaries for Windows.
2022-06-13 15:02:47 -04:00
Brad King
a4c48afbbc Utilities/Release: Drop unnecessary system API definitions for Linux
We previously defined `_POSIX_C_SOURCE` and friends while building
binary packages in order to minimize the version of glibc needed at
runtime.  The definitions were added by commit facc240a45
(Utilities/Release: Add docker specs to build and test Linux binaries,
2019-08-23, v3.16.0-rc1~184^2~2), but came from older packaging scripts
that were removed by commit 689fdbfc61 (Utilities/Release: Drop linux64
script in favor of docker build, 2019-08-27, v3.16.0-rc1~184^2).  Those
older scripts were meant for use in a hand-maintained environment.  Now
that we use base images of old CentOS versions to establish the build
environment, our builds are already limited to older glibc versions
(glibc 2.12 from centos6 on x86_64, and 2.17 from centos7 on aarch64).

Our old system API definitions no longer affect the glibc version
required by the binaries.  Drop them to avoid potential conflicts with
system API definitions added by changes like commit f034b0f663 (CMake
compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2)
and commit c7c3e39e4f (Utilities: Activate POSIX APIs even without
compiler extensions, 2022-06-02).
2022-06-06 11:44:53 -04:00
Brad King
0b953d01a6 Utilities/Release: Drop docker specs for Windows binaries
Since commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and
i386 packages, 2022-05-19), we use CI jobs to produce Windows binaries.
Revert commit ff929badb3 (Utilities/Release: Add docker specs to
build and test Windows binaries, 2020-05-05, v3.18.0-rc1~203^2~1).
The filesystem inside Windows containers is too slow to support
parallel builds efficiently.
2022-06-01 12:43:22 -04:00
Brad King
230eaa1d55 Utilities/Release: Document Linux aarch64 packaging support
This was accidentally left out of commit e14fb01c41 (Utilities/Release:
Add docker specs for Linux aarch64 binaries, 2020-11-25, v3.19.3~8^2~2).
2022-06-01 12:39:35 -04:00
Brad King
1eab922d92 Utilities/Release: Add script to sign and package Windows binaries
Windows binaries for official releases on `cmake.org` are signed
manually by a maintainer with a suitable signing certificate.
Add a script to sign the binaries, run CPack, and sign the installer.
2022-05-19 15:25:55 -04:00
Brad King
db48074d58 Utilities/Release: Add script to build Qt 5.12.1 Windows binaries
These may be used to build CMake binaries for Windows `x86_64` and `i386`.
Qt 5.12.1 supports Windows 7.

Port the logic from `Utilities/Release/win/x86/deps/Dockerfile` and its
helper scripts.
2022-05-19 15:25:54 -04:00
Kyle Edwards
313ea361b0 CMake: Use FindPython instead of FindPythonInterp to build CMake itself
Fixes: #23444
2022-04-21 14:23:36 -04:00
Brad King
2167fce99b Utilities/Release: Drop SLA from CMake macOS DMG package
macOS 12 deprecates the tools needed to attach a SLA to a `.dmg`.
CMake 3.23 added `CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` to
control whether `CPACK_RESOURCE_FILE_LICENSE` is used as the SLA.
CMake 3.24 will add policy CMP0133 to disable the SLA by default.

Explicitly turn off the SLA for CMake's official macOS binaries.
This will allow them to build on future macOS versions that have
no SLA tooling available.

Issue: #22978
2022-04-20 13:27:39 -04:00
Brad King
261b29bccc Merge topic 'doc-qhelpgenerator'
bf69fa32c4 Utilities/Sphinx: Update qthelp generation to qhelpgenerator
37904abb58 Help: Add "Updates" section header in 3.22 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7150
2022-04-08 08:51:22 -04:00
Brad King
bf69fa32c4 Utilities/Sphinx: Update qthelp generation to qhelpgenerator
`qcollectiongenerator` is deprecated in favor of `qhelpgenerator`.
2022-04-07 09:37:37 -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
2e93f6ac1a Merge topic 'rel-win-docker'
a6aa88e51f Utilities/Release: Add "source" stage to Windows docker spec

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7087
2022-03-21 14:12:38 -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
9d621ceba1 Tests: Run MFC test only when explicitly enabled
Previously we used a complicated heuristic to decide whether or not to
run the MFC test, but it sometimes decided incorrectly to run the test.
Since that was first written, we have developed a convention for other
tests to enable them via undocumented cache entries that are added only
on machines known to meet the tests' requirements.  Do that for MFC.
2022-02-03 06:45:53 -05:00
Brad King
2247a7929d Utilities/Release: Update macOS signing script for CPack OSXX11 removal
Since  commit 4ef974e6cb (CPack: Remove undocumented deprecated OSXX11
generator, 2021-11-05), the `CPack.OSXScriptLauncher.in` binary is no
longer installed in the `CMake.app` bundle, so it does not need to be
signed.
2021-12-06 17:12:37 -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
Brad King
e17006c497 Utilities/Release: Add deprecation fields to File Table v1
Provide a field for clients to check now so that we can deprecate
things later.
2021-04-05 13:47:20 -04:00
Brad King
89ab613248 Utilities/Release: Update file table for 3.20.0 2021-04-05 13:47:02 -04:00
Brad King
c5777e5421 Merge branch 'backport-3.19-rel-file-table' into rel-file-table 2021-04-05 13:46:35 -04:00
Brad King
30959aec8f Utilities/Release: Update file table for 3.19.3 2021-04-05 13:45:00 -04:00
Brad King
d206c8f1ec Merge tag 'v3.19.3' into backport-3.19-rel-file-table 2021-04-05 13:44:49 -04:00
Brad King
004dbbaddd Utilities/Release: Update file table for 3.19.2 2021-04-05 13:44:42 -04:00
Brad King
1e3301a28c Merge tag 'v3.19.2' into backport-3.19-rel-file-table 2021-04-05 13:44:36 -04:00
Brad King
383bfbe76f Merge branch 'backport-3.18-rel-file-table' into backport-3.19-rel-file-table 2021-04-05 13:44:27 -04:00
Brad King
0237eba318 Utilities/Release: Add script to generate a table of files
Fixes: #22002
2021-04-05 13:43:51 -04:00
Brad King
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
Use `linux_release` in names associated with building or testing
release-style binaries.  Add a `.linux_package` helper to adjust
the release binary build behavior for package-specific jobs.
2021-01-27 10:29:38 -05:00
Brad King
2186f8988f Utilities/Release: Rename Windows packages to 'windows-$arch' 2021-01-26 09:11:14 -05:00
Brad King
dc9340dbc4 Utilities/Release: Rename Linux packages to 'linux-$arch' 2021-01-25 13:53:40 -05:00
Brad King
bbec5a03c8 Utilities/Release: Add script to build Qt 5.15.2 macOS universal binaries
These may be used to build a CMake universal binary for macOS that supports
both architectures on Apple Silicon and is compatible with OS X 10.13.
2021-01-07 16:10:07 -05:00
Brad King
97e238f61b Utilities/Release: Fix macOS Qt 5.9 build script umask
Produce a tarball with world-readable permissions.
2021-01-07 16:10:07 -05:00
Hi Key
e14fb01c41 Utilities/Release: Add docker specs for Linux aarch64 binaries
Base them on the existing `x86_64` specs.  Update the centos
base image from centos 6 to centos 7 to get aarch64 support.
The resulting binaries require GLIBC 2.17.

Fixes: #17923
2020-12-22 14:04:39 -05:00
Brad King
23de430545 Utilities/Release: Update macOS Qt 5.9 build for platform versioning
Backport the upstream Qt patch [1] to link Qt binaries using the
`-isysroot` flag instead of `-Wl,-syslibroot`.  This is needed so that
the binaries have a SDK version set, which is needed for runtime
validation on modern macOS versions.

[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6387138a7991b4588639dc48847f175b5afaff84
2020-12-14 11:33:30 -05:00
Brad King
b201dc0d42 Utilities/Release: Add script to build Qt 5.9.9 macOS universal binaries
These may be used to build a CMake universal binary for macOS that supports
both architectures on Apple Silicon and is compatible with OS X 10.10.
2020-12-10 10:03:52 -05:00
Brad King
6a88e6332f Utilities/Release: Drop now-unused scripts
Since these commits:

* commit ab2276e6b9 (Utilities/Release: remove old macOS release script,
                     2020-09-16)
* commit 7670ba8b0a (Utilities/Release: Drop win{32,64} scripts in favor
                     of docker build, 2020-05-05, v3.18.0-rc1~203^2)
* commit 689fdbfc61 (Utilities/Release: Drop linux64 script in favor of
                     docker build, 2019-08-27, v3.16.0-rc1~184^2)

several scripts we once used for producing release binaries for
distribution on `cmake.org` are no longer needed.
2020-09-17 09:11:03 -04:00
Ben Boeckel
ab2276e6b9 Utilities/Release: remove old macOS release script
macOS releases are now made by GitLab-CI.
2020-09-16 16:09:01 -04:00
Ben Boeckel
c5b072800d gitlab-ci: add jobs for reproducing the release binaries 2020-06-03 12:50:15 -04:00
Ben Boeckel
45f2786ff7 Release/linux: remove explicit LANG setting
It shouldn't be needed anymore now that the Sphinx scripts are reading
UTF-8 content explicitly.
2020-06-03 11:51:21 -04:00