Commit Graph

1815 Commits

Author SHA1 Message Date
Brad King c7c3e39e4f Utilities: Activate POSIX APIs even without compiler extensions
Compile some third-party libraries with preprocessor definitions that
activate POSIX APIs even when compiler extensions are not enabled.
We already do this in libuv, inherited from the upstream buildsystem.

This extends commit f034b0f663 (CMake compilation: do not use compiler
extensions, 2020-03-14, v3.18.0-rc1~494^2).

Issue: #20454
2022-06-04 09:08:27 -04:00
Brad King 3ba324b6b6 libarchive: Remove a system preprocessor macro that conflicts with a local var
On SunOS i386, the system headers sometimes define macro names
corresponding to register names, short and with no prefix.
Undefine one that conflicts with our code.
2022-06-04 08:15:20 -04:00
Brad King 4a283fcc31 librhash: Explicitly enable large file support on 32-bit targets
`_LARGEFILE_SOURCE` is needed at least on SunOS i386 if compiler
extensions are not enabled.
2022-06-04 08:15:20 -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 0b30568219 Merge topic 'update-zlib'
e6e7b615af zlib: Update build within CMake for 1.2.12
152b4f8920 Merge branch 'upstream-zlib' into update-zlib
ffdaa419d7 zlib 2022-03-27 (21767c65)
933293dbc2 zlib: Update script to get zlib 1.2.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7302
2022-05-31 12:00:47 -04:00
Brad King e6e7b615af zlib: Update build within CMake for 1.2.12 2022-05-28 06:45:49 -04:00
Brad King 152b4f8920 Merge branch 'upstream-zlib' into update-zlib
* upstream-zlib:
  zlib 2022-03-27 (21767c65)
2022-05-28 06:44:43 -04:00
Brad King a1abb27be2 Merge branch 'upstream-KWIML' into update-kwiml
# By KWIML Upstream
* upstream-KWIML:
  KWIML 2022-05-27 (47070837)
2022-05-27 13:46:45 -04:00
Brad King 933293dbc2 zlib: Update script to get zlib 1.2.12 2022-05-26 12:30:29 -04:00
Brad King 87b304f649 zlib: Add CMakeLists.txt for build within CMake 2022-05-26 12:29:41 -04:00
Brad King b0d97aeea5 zlib: Use unistd.h on all non-Windows platforms
Replace the `HAVE_UNISTD_H` change from commit 3edcd70754 (ENH: Update
zlib to 1.2.3, 2007-09-11, v2.6.0~1135) with simpler logic.
2022-05-26 12:29:41 -04:00
Brad King 19881cbdec zlib: Suppress some MSVC warnings
Restore the warning suppression code added by commit 0e4571d25c (ENH:
Initial import from VTK, 2005-01-26, v2.4.0~2414) and commit 3edcd70754
(ENH: Update zlib to 1.2.3, 2007-09-11, v2.6.0~1135).
2022-05-26 12:29:41 -04:00
Brad King 0d201ad25b zlib: Add initialization to satisfy valgrind
Restore the change from commit cf133ff6b3 (Fix uninitialized variable
access in zlib, 2009-11-18, v2.8.2~705). Their web site claims it does
no harm ( https://www.zlib.net/zlib_faq.html#faq36), but fixing it this
way eliminates the diagnostic.
2022-05-26 12:29:41 -04:00
Brad King 512c1f8f75 zlib: Fix typo in comment
Restore the fix from commit bf019d765d (Fix spelling and typos
(non-binary), 2012-11-07, v2.8.12~414^2~7).
2022-05-26 12:29:40 -04:00
Brad King 2be780ba5b Merge branch 'upstream-zlib' into update-zlib
# By zlib upstream
* upstream-zlib:
  zlib 2011-09-09 (abf180a0)
2022-05-26 12:29:03 -04:00
Brad King 40a17e3f5e zlib: add script to import zlib 1.2.3 from upstream
CMake has vendored this version for a long time.
Import it using our modern approach.
2022-05-26 12:28:36 -04:00
Brad King fc22ac115e zlib: Drop old sources to make room for a fresh import 2022-05-26 12:28:21 -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
Brad King 71747a28ea Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-05-11 (462196e6)
2022-05-16 11:43:51 -04:00
Brad King 02902188ec curl: Update script to get curl 7.83.1 2022-05-16 11:43:15 -04:00
Marc Chevrier 95a1b2c7b8 stl containers: enhance compatibility with C++14, C++17 and C++20
* Ensure various functions working with containers are available through
all headers as specified by the standard.
* Add C++20 std::ssize() function.
2022-05-07 11:04:06 +02:00
Brad King 891266cacc Merge topic 'update-curl'
30aba1ce8c Merge branch 'upstream-curl' into update-curl
2a9bc9ebf0 curl 2022-04-27 (1669b17d)
5239672e64 curl: Update script to get curl 7.83.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7219
2022-05-03 11:21:54 -04:00
Marc Chevrier f42d0c9322 cm::enum_set: fix compilation warning 2022-04-29 16:49:14 +02:00
Brad King 756e83fbe2 Merge topic 'doc-cmake.org-tutorial-archive'
4cb616fed6 Tutorial: Provide a source archive when published on cmake.org
37fb70591e Utilities/Sphinx: Add variables listing pre-sphinx commands
eb7d913a21 Utilities/Sphinx: Clarify names of variables listing post-sphinx commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7215
2022-04-29 09:26:17 -04:00
Brad King 30aba1ce8c Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-04-27 (1669b17d)
2022-04-28 15:21:23 -04:00
Brad King 5239672e64 curl: Update script to get curl 7.83.0 2022-04-28 15:15:34 -04:00
Brad King 4cb616fed6 Tutorial: Provide a source archive when published on cmake.org
Provide readers following the tutorial on `cmake.org` a direct link to
download the tutorial's source examples.  Previously readers had to
fetch the CMake source tree separately and look for the tutorial source
examples inside it.

Fixes: #22475
2022-04-28 13:36:20 -04:00
Brad King 37fb70591e Utilities/Sphinx: Add variables listing pre-sphinx commands 2022-04-27 15:22:31 -04:00
Brad King eb7d913a21 Utilities/Sphinx: Clarify names of variables listing post-sphinx commands 2022-04-27 15:22:31 -04:00
Marc Chevrier b13eef5a90 cm::enum_set: container that contains a set of unique enum values.
The enum must be an `enum class` with an unsigned integer as base type.
2022-04-27 19:40:40 +02: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 de6038aaf4 Merge branch 'doc-qhelpgenerator' into release-3.23
Merge-request: !7150
2022-04-08 08:52:55 -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 5c429c5b40 Merge topic 'ci-cmake.org-help'
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:38 -04:00
Brad King 76632f9f47 Merge topic 'ci-cmake.org-help' into release-3.23
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:37 -04:00
Brad King b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
Previously the qthelp-format release documentation on `cmake.org` was
built manually.
2022-04-06 09:59:14 -04:00
Brad King f38fbdb65b Merge topic 'ci-cmake.org-help' into release-3.23
2808281730 gitlab-ci: update cmake.org documentation in release package pipeline
ed00a29cce gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs
5c2e8ce515 Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org
a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7144
2022-04-05 17:46:01 -04:00
Brad King 2ce668b11d Merge branch 'backport-ci-cmake.org-help' into ci-cmake.org-help 2022-04-05 16:51:04 -04:00
Brad King 5c2e8ce515 Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org
Reference an OpenSearch description file that sits outside the content
of any specific version so we only need to maintain one and so that
it can reference the latest version.

This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org 2022-04-05 16:09:54 -04:00
Brad King 11cc728e75 cmConstStack: Factor out of cmListFileBacktrace
This presents value semantics for a stack of constant values.
Internally it shares ownership to avoid copies.  Previously
this was implemented by `cmListFileBacktrace` explicitly,
but the approach can be re-used for other kinds of stacks.
2022-04-02 05:55:31 -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 4b89761df1 Merge topic 'rel-win-docker' into release-3.23
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:37 -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