Commit Graph

353 Commits

Author SHA1 Message Date
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 CMake 3.19.3
-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEExsJlMku+vcNQtRPQLSzvEDSSFoQFAl/+/DYWHGJyYWQua2lu
 Z0BraXR3YXJlLmNvbQAKCRAtLO8QNJIWhA0QD/4p10JTGkWGiYJuiyMYtEnx+FBW
 DhBeKh53Jlgocakv5ZmDnyd9Q4gt+Wn0NV311xpMEJME3MAlrCp5f6maSbJp+VQK
 GSMoImxESJf2J+JLIbAY9t14J/r17blqQyf9pZxdMj7QGwnC5u95n+DMxp/8MGho
 hVKzEOLm3ZkwiRQkkUYbmCb9XLIk15xuBgfcg9PNZdjQTBgBViUbgJHNZdbVpfvB
 49A1EWstTE/K351YKgMRm5k6uKmHtCMdSYx7lf+ic4/AlFQmOJNI+tsJ+xhJc4ll
 Cx5MSS2iBpv0R2PBjL2IJsFXtINzk6/d4oGxK+NMZ+3DWxObV9wR7oxz0OrkqPZs
 G4xkjy6z0SS9Me0PCmpkA0KGUoQxpU076MFYJy2SR6vR3kVbOVX7jbQrSSzW84dx
 maF7V+3L2alNtZcCVvTyW0gCNCIkrqy9+1t7Ah3w95TUG2MzLeOM2As0pA5817fx
 P9LDvLq7JjljUXEDNKHCN2AqwXgZq6/PJo2bgenVHYgf6s2a7WiikqW3aFYOfLtA
 JOWXpFTzv9tLsuMF31L/ikw/WmHD1N8+CbUoVGWFRVdNI900fPAYWehASwluQqcb
 qQ9FWO0q8XtsPn7BBEda2Q1fmxb1/EbTy8caUpB+m6LxB+QaE3WTBv8EvPhGo1Mp
 lcncHL7QH3qX5WFBkg==
 =HuXp
 -----END PGP SIGNATURE-----

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 CMake 3.19.2
-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEExsJlMku+vcNQtRPQLSzvEDSSFoQFAl/aCscWHGJyYWQua2lu
 Z0BraXR3YXJlLmNvbQAKCRAtLO8QNJIWhJ9CD/4kQ5aqXezWPDH1Gg3E7MEOk7wa
 dvWoXp1BWaVlPayFnBNOjxECncfLndB/K4DCuTq14s5MQgHgHBFEsduz5AAaY3PM
 m9Md7DoeSd69AKigkl4TPktjm+rGaALePg0m+Ed336+wZEvkH0o5VO4S+9MBv4rn
 g4onCcE2JG6Q8QdeRPgRklsruQuVLHbBmEDlIRmBFlHJQFpMXGmWqk7v87DTZj3v
 3g9htV3Pxxme0p1Ss7u6fpQyfBkh5JD655UEXZGQtl2ZBn9n9t/0np3viImznyHG
 /KgOSiXm/e6s/Hfd3kgvT+E5E9NfYbwY6pdbIBn26XGCQrr7MnoRNRMkfGXRpeUb
 2R5vBrWXi8KY1x0p3QhEp4r4xsmQAYu1Yz1oU477Gr9Fp4blSvA/NJYHRUETvbUF
 ATIORiZ+NJmhYuoIWzP0Ca/VZ8lDay6DKlxCwAIqrVAhr/TbPPc0UKZoMqJGOfRm
 KA+XV+32luwuk3kZ2sAbeo83jtaRxeWJtJK9unfUxT8RPK2x5nAaTuNKLzxbAEv6
 DHc7IklazLPWMKdBqMgq8l8PsQS6UJd2KoDgzpH80ZumLIZxee68plXt+WimwkMa
 ONBdUPWFCNGY/UbF/mSvkA7sWMDIinOtfYtc7lvmROVWllw4DE/Nm2nSBy8qLsfj
 1wzOHKT7SxMDKH2AMg==
 =B7t7
 -----END PGP SIGNATURE-----

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
Brad King
7670ba8b0a Utilities/Release: Drop win{32,64} scripts in favor of docker build
Also drop the `CMakeNightlyWin{32,64}` tests that use the scripts.

Follow the pattern from commit 689fdbfc61 (Utilities/Release: Drop
linux64 script in favor of docker build, 2019-08-27, v3.16.0-rc1~184^2).
2020-05-05 14:56:56 -04:00
Brad King
ff929badb3 Utilities/Release: Add docker specs to build and test Windows binaries
These will allow anyone to produce portable binaries like those
published on `cmake.org`.

Follow the pattern from commit facc240a45 (Utilities/Release: Add docker
specs to build and test Linux binaries, 2019-08-23, v3.16.0-rc1~184^2~2).
Parameterize the architecture to support both `x86_64` and `i386`.
2020-05-05 14:56:26 -04:00
Brad King
5f4f7e637a Utilities/Release: Generalize OS in README docker instructions
Replace the hard-coded OS name `linux` with an `<os>` placeholder.
Mention `linux` in an explicit list of supported `<os>/<arch>` pairs.
2020-05-05 14:50:26 -04:00
Brad King
13467f1dbd Utilities/Release: Make README docker examples more readable
Hard-code them for `linux/x86_64` instead of using an `<arch>`
placeholder.  Update the prose to mention the platform/arch explicitly.
2020-05-05 14:45:53 -04:00
Brad King
593c3fa1d4 Utilities/Release: Remove unused linux/x86_64/test/cache-ninja.txt 2020-05-05 14:37:04 -04:00
Brad King
f0e97788e5 Merge topic 'rel-linux-openssl'
3a66c7674c Utilities/Release: Update to openssl 1.1.1f

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4563
2020-04-03 06:55:35 -04:00
Brad King
3a66c7674c Utilities/Release: Update to openssl 1.1.1f 2020-04-03 06:50:56 -04:00
Brad King
7253b49ca9 Utilities/Release: Use python 3 for tests on Windows binaries
Explicitly specify the build machine's Python 3 installation for
Windows to be used by the test suite.  This avoids accidentally
using other versions on the machine.
2020-02-10 10:19:20 -05:00
Brad King
1529f4a930 Utilities/Release: Teach "push" script to create destination subdirectory
Extend the script added by commit 9bf97363b0 (Utilities/Release: Replace
upload step with a "push" script, 2019-05-24, v3.15.0-rc1~56^2) to
create the destination subdirectory for the CMake version being pushed.
2019-10-10 14:24:32 -04:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Alexej Harm
a3cfb66543 Add compatibility with the cl.exe /permissive- compiler option 2019-09-11 15:26:20 +02:00
Brad King
2c95c35c51 Utilities/Release: Add docker spec for STGZ package on Linux
The spec added by commit facc240a45 (Utilities/Release: Add docker specs
to build and test Linux binaries, 2019-08-23) generates only the TGZ
package, but the old `Utilities/Release/linux64_release.cmake` script
also generated a STGZ package.
2019-08-29 13:04:27 -04:00
Brad King
4929453504 Merge topic 'docker-rel-linux'
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
2d7cfd30ac Utilities/Release: Drop source archive generation in scripts
facc240a45 Utilities/Release: Add docker specs to build and test Linux binaries
bf832ccf01 Utilities/Release: Add README.rst describing directory content
ab153f17bf Utilities/Release: Drop machine-specific README
ed294c1664 Add option to skip CMake tests that need network access
4b8a864d52 Add option to test CMake itself against its hosting CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gregor Jasny <gjasny@googlemail.com>
Merge-request: !3727
2019-08-29 09:32:13 -04:00
Brad King
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
Drop also drop the CMakeNightlyLinux64 test that uses the script.
2019-08-28 13:20:36 -04:00
Brad King
2d7cfd30ac Utilities/Release: Drop source archive generation in scripts
We will generate the `.tar.gz` and `.zip` source archives using
`git archive` in the scripts that drive the Linux build with Docker.
2019-08-28 13:20:36 -04:00