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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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).
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`.
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.
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.
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.
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