Commit Graph

1619 Commits

Author SHA1 Message Date
Brad King 2d4d9cd37a Merge branch 'backport-rel-macos-modern' into rel-macos-modern 2021-01-07 16:56:48 -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
Oleksandr Koval 209daa20b2 Code style: add missed explicit 'this->'
CMake uses explicit 'this->' style. Using custom clang-tidy check we can
detect and fix places where 'this->' was missed.
2021-01-05 14:32:36 +02:00
Brad King 24247155af Merge branch 'backport-rel-linux-aarch64' into rel-linux-aarch64 2020-12-22 14:04:59 -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 8cb2506afb Merge topic 'rel-macos-apple-silicon'
23de430545 Utilities/Release: Update macOS Qt 5.9 build for platform versioning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5615
2020-12-15 07:35:01 -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 7ad7ac4167 Merge topic 'update-curl'
d0bac89cea curl: Set build options the way we need for CMake
54931fdff0 Merge branch 'upstream-curl' into update-curl
5aacc593a9 curl 2020-12-09 (e0528597)
4cd65e5d88 curl: Update script to get curl 7.74.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5592
2020-12-14 07:14:16 -05:00
Brad King d0bac89cea curl: Set build options the way we need for CMake 2020-12-11 08:39:40 -05:00
Brad King fd6c1e5a73 Merge topic 'rel-macos-apple-silicon'
56a075eb5d ci: update macOS package to produce universal binaries
b184cc256b ci: do not use sccache for macOS packaging
41bddf1028 ci: update to pre-built Qt 5.9.9 universal binaries for macOS packages
b201dc0d42 Utilities/Release: Add script to build Qt 5.9.9 macOS universal binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5595
2020-12-10 12:05:17 -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 54931fdff0 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-12-09 (e0528597)
2020-12-09 11:45:25 -05:00
Brad King 4cd65e5d88 curl: Update script to get curl 7.74.0 2020-12-09 11:45:00 -05:00
Nikita Nemkin dafcef8b50 Help: Improve styling for versionadded/deprecated directives
Sphinx theme CSS removes top margin for dd > p combination,
but directives add an intervening div and need a separate rule.

Issue: #19715
2020-12-02 21:00:28 +05:00
Brad King 3f60c92775 Merge topic 'doc-html-lang'
f25e4313ac Utilities/Sphinx: Tell Sphinx that documentation is written in English

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5480
2020-11-09 10:51:08 -05:00
Brad King f25e4313ac Utilities/Sphinx: Tell Sphinx that documentation is written in English
Fixes: #21409
2020-11-09 10:15:35 -05:00
Kyle Edwards 67383725bd cm::optional: Add constructor delegation to nullopt_t constructor
Some static analysis tools incorrectly identify this constructor
as leaving _has_value in an undefined state. Explicitly call the
default constructor to force _has_value to false.
2020-10-22 11:40:48 -04:00
Kyle Edwards 0668120398 cm::optional: Fix move assignment 2020-10-21 14:23:43 -04:00
Brad King a0e474aaf2 Configure CMake itself with policies through CMake 3.18 2020-10-13 14:42:08 -04:00
Kyle Edwards 06c0d59c17 IWYU: Map <*> headers to <cm/*> headers
For headers which exclusively contain things that were not present
in C++11.
2020-10-08 13:40:21 -04:00
Brad King 7ef9a91e18 Merge topic 'sphinx-deprecations'
2254fcb68f Utilities/Sphinx: Avoid using deprecated sphinx APIs
e0f643dddc Utilities/Sphinx: Clarify check for sphinx < 1.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5326
2020-10-06 06:56:18 -04:00
Brad King 2254fcb68f Utilities/Sphinx: Avoid using deprecated sphinx APIs
Sphinx has deprecated `sphinx.util.pycompat.htmlescape` and
`sphinx.builders.qthelp.QtHelpBuilder`.  We only import these as part of
a monkey-patch to work around a bug in versions of sphinx before 1.7.2,
so make that code path conditional.  The imports are not deprecated on
the versions where we need them.
2020-10-05 13:38:08 -04:00
Brad King e0f643dddc Utilities/Sphinx: Clarify check for sphinx < 1.4 2020-10-05 13:37:01 -04:00
Brad King c1de2227fa Merge branch 'upstream-expat' into update-expat
# By Expat Upstream
* upstream-expat:
  expat 2020-10-03 (162e16b0)
2020-10-05 09:06:45 -04:00
Brad King b788cb9d55 expat: Update script to get Expat 2.2.10 2020-10-05 09:06:35 -04:00
Kyle Edwards a3025e2f9b Utilities/Scripts: Update regenerate-lexers.bash
62d7acc6 added arguments to Flex when regenerating
cmCommandArgumentLexer, but this was not reflected in
Utilities/Scripts/regenerate-lexers.bash. Update the script with
the proper arguments.
2020-10-02 14:25:56 -04:00
Elad Lahav f9e950d4c5 libuv: Add support for building for QNX within CMake 2020-09-25 11:53:44 -04:00
Brad King c98ec731f9 Merge topic 'update-libuv'
7a0506bafe libuv: Suppress conversion warning on Windows
2269ad6a0a libuv: Add fs_copy stub to cmake-bootstrap.c
e21325c2c6 Merge branch 'upstream-libuv' into update-libuv
c1463f959f libuv 2020-09-22 (ed5b42d5)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5259
2020-09-24 15:16:28 -04:00
Cristian Adam 2ca54e7179 zstd: version 1.4.5 update
Add source files needed to properly compile / link to zstd
version 1.4.5
2020-09-23 19:09:16 +02:00
Cristian Adam 0b3e9259dd Merge branch 'upstream-zstd'
# By zstd upstream
* upstream-zstd:
  zstd 2020-05-21 (b706286a)
2020-09-23 18:49:33 +02:00
Brad King 7a0506bafe libuv: Suppress conversion warning on Windows
Add a cast to avoid the conversion warning with minimal changes to
third-party code.
2020-09-23 12:32:54 -04:00
Brad King 2269ad6a0a libuv: Add fs_copy stub to cmake-bootstrap.c
This is now called by `uv__fs_sendfile` in `src/unix/fs.c` but we do not
need that feature during CMake bootstrap.
2020-09-23 12:28:48 -04:00
Brad King e21325c2c6 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2020-09-22 (ed5b42d5)
2020-09-23 12:13:59 -04:00
Marc Chevrier 82c9508313 cmake_path: enhancements
* Fix error on parsing "c:a" (root-name without root-directory)
* Enrich documentation
2020-09-20 15:17:34 +02: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 758a8592ed Utilities: also support an already extracted doc tree 2020-09-16 13:35:53 -04:00
Kyle Edwards 1d74a64f38 Merge topic 'cm-optional-comparison'
7e1304c6e6 cm::optional: Add comparison operators
c854e9eba5 Refactor: Add ASSERT_TRUE() macro to testOptional.cxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5195
2020-09-08 09:55:18 -04:00
Kyle Edwards 7e1304c6e6 cm::optional: Add comparison operators 2020-09-07 08:50:09 -04:00
Marc Chevrier 212e953d35 cmCMakePath: Class for path handling 2020-09-06 10:34:17 +02:00
Kyle Edwards aa7bce8495 Utilities/Scripts: Remove temporary #pragma once conversion script 2020-09-03 09:30:27 -04:00
Kitware Robot bdca8b01d2 Modernize: Use #pragma once in all header files
#pragma once is a widely supported compiler pragma, even though it is
not part of the C++ standard. Many of the issues keeping #pragma once
from being standardized (distributed filesystems, build farms, hard
links, etc.) do not apply to CMake - it is easy to build CMake on a
single machine. CMake also does not install any header files which can
be consumed by other projects (though cmCPluginAPI.h has been
deliberately omitted from this conversion in case anyone is still using
it.) Finally, #pragma once has been required to build CMake since at
least August 2017 (7f29bbe6 enabled server mode unconditionally, which
had been using #pragma once since September 2016 (b13d3e0d)). The fact
that we now require C++11 filters out old compilers, and it is unlikely
that there is a compiler which supports C++11 but does not support
#pragma once.
2020-09-03 09:30:21 -04:00
Kyle Edwards 093ba4061d Utilities/Scripts: Add temporary #pragma once conversion script 2020-09-03 09:26:57 -04:00
Brad King 387ea71853 curl: Set build options the way we need for CMake 2020-08-19 13:07:30 -04:00
Brad King 7d0fa4a943 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-08-19 (9d954e49)
2020-08-19 12:50:05 -04:00
Brad King c156948327 curl: Update script to get curl 7.72.0 2020-08-19 12:44:12 -04:00
Fred Baksik bfed613132 STL Support: Fix cm::filesystem warnings; check for '\' not multichar ' \'.
Utilities/std/cm/bits/fs_path.cxx:334:24: warning: multi-character character constant [-Wmultichar]
             || *ptr == ' \\'
                        ^~~~~
2020-07-24 19:36:46 -04:00
Brad King e771330dd4 bootstrap: Fix libuv target platform conditions on macOS
In commit 714ce72882 (bootstrap: Make libuv available during bootstrap,
2017-09-13, v3.10.0-rc1~106^2) we modified libuv to use POSIX interfaces
during bootstrap.  However, some code still expects `TARGET_OS_IPHONE`
to be defined on Apple platforms to either `0` or `1`.  In order to
offer this, include `<TargetConditionals.h>` on Apple platforms even
when bootstrapping.
2020-07-22 14:42:04 -04:00
Marc Chevrier 259356f3b5 STL Support: cm::filesystem::path: add support of Cygwin 2020-07-20 16:20:42 +02:00