Commit Graph

1804 Commits

Author SHA1 Message Date
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
Brad King 31101e0fde Merge topic 'cmake-minimum'
14eb8a6ab9 libarchive: Simplify hard-coded options for build within CMake
d6b811fb82 Require CMake 3.13+ to configure CMake itself

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7016
2022-02-24 13:00:14 -05:00
Brad King 0956b3bc92 Merge topic 'update-expat'
07f9ce4f8c Merge branch 'upstream-expat' into update-expat
4c031b9417 expat 2022-02-20 (65a21f2b)
9d035ba28d expat: Update script to get Expat 2.4.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7015
2022-02-23 09:00:37 -05:00
Brad King d6b811fb82 Require CMake 3.13+ to configure CMake itself
In particular, guarantee that policy `CMP0077` has `NEW` behavior.
This will be useful to hard-code options of third-party libraries
without polluting our own cache.
2022-02-22 17:50:06 -05:00
Brad King 07f9ce4f8c Merge branch 'upstream-expat' into update-expat
# By Expat Upstream
* upstream-expat:
  expat 2022-02-20 (65a21f2b)
2022-02-22 17:11:37 -05:00
Brad King 9d035ba28d expat: Update script to get Expat 2.4.6 2022-02-22 17:11:28 -05:00
Ben Boeckel 93f52b0931 Utilities/Git: add a file for refs to ignore when blaming
This file may be passed to `git blame` through either the
`--ignore-revs-file` argument or the `blame.ignoreRevsFile`
configuration to ignore certain commits when performing blames.

Note that if Git is unable to find an older commit for a given line,
commits in this file may still be given as the source of a line.

The file uses features (namely empty lines and comments) which were
added in Git 2.20, released Dec 2018.
2022-02-21 10:53:42 -05:00
Brad King 0bd5685867 Merge topic 'update-libarchive'
be9ebc104a libarchive: Simplify code selecting CMake-specific build options
4a7a5718c6 libarchive: Update build within CMake after changes in 3.6.0
85cdeefc37 libarchive: include archive_platform.h first in blake2s sources
b3644e460f Merge branch 'upstream-LibArchive' into update-libarchive
5d50940288 LibArchive 2022-02-09 (9147def1)
406503f620 libarchive: Update script to get 3.6.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6988
2022-02-18 09:04:00 -05:00
Brad King 535f79656e Merge topic 'libarchive-openssl-crypto-checks'
483a1c248c libarchive: Fix OpenSSL crypto library checks for build inside CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6997
2022-02-18 08:51:55 -05:00
Brad King 483a1c248c libarchive: Fix OpenSSL crypto library checks for build inside CMake
libarchive's crypto library checks use its `config.h` inside the
`try_compile` project.  Since commit ade3b16e63 (libarchive: Use KWIML
to get fixed-size integer types, 2020-06-01, v3.18.0-rc1~33^2),
that header depends on KWIML inside CMake.  Add the include directory
for KWIML to the crypto library checks.  Otherwise, they always fail
due to not finding the KWIML headers, and libarchive decides not
to link the crypto library.

libarchive has other code besides the hash algorithms that depends on
the crypto library if its ENABLE_OPENSSL option is enabled (which in
CMake is controlled by CMAKE_USE_OPENSSL).  It seems to be missing some
conditions to link the crypto library in those cases, and instead relies
on at least one of the above-mentioned checks to pass.  If they all
fail, and we are using system curl, we might not link the crypto
library.

Fixes: #23234
2022-02-17 08:06:01 -05:00
Brad King be9ebc104a libarchive: Simplify code selecting CMake-specific build options
Reduce differences from upstream libarchive `CMakeLists.txt` code.
Remove modifications inside code we disable anyway.
2022-02-17 07:28:09 -05:00
Brad King 4a7a5718c6 libarchive: Update build within CMake after changes in 3.6.0 2022-02-16 07:41:50 -05:00