Previously, `cm::static_reference_cast` used `invoke_result_t` and took
the address of `O::get`. This is not in complete conformance with
standard.
Change the implementation to use `std::declval<O>.get()` which is always
well-defined.
Refactoring in commit ade3b16e63 (libarchive: Use KWIML to get
fixed-size integer types, 2020-06-01) accidentally changed the method of
defining `int#_t` types from `typedef` to `#define`. Change it back to
`typedef`.
Reported-by: Rolf Eike Beer <eike@sf-mail.de>
Refactoring in commit 12e7bfcbf4 (liblzma: Use KWIML to get fixed-size
integer types, 2020-05-25) accidentally changed the method of defining
`int#_t` types from `typedef` to `#define`. Change it back to
`typedef`.
Reported-by: Rolf Eike Beer <eike@sf-mail.de>
The integer size checks have been replaced with KWIML so their
hard-coded results are no longer needed.
Tell `TEST_BIG_ENDIAN` to use `unsigned short` as the 16-bit integer.
UNIX device APIs do not exist on Windows.
FreeBSD libmd does not exist on Windows.
Fix typo in existing `HAVE_READPASSPHRASE_H` setting.
ade3b16e63 libarchive: Use KWIML to get fixed-size integer types
22c5b0c244 libarchive: Avoid configure-time checks for integer range constants
a7e66cac16 libarchive: Drop unused code providing uintmax_t and intmax_t
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4839
Our bundled third-party libraries perform many `try_compile` checks for
compatibility with their upstream build systems. For many of the checks
we already know the result for compilers we support for building CMake
itself, especially on Windows. Hard-code known results to avoid running
the checks.
cURL detects the `send` and `recv` signatures using a large loop
of `try_compile` checks. The results are used for the following:
* Casting argument types in calls to `send` and `recv`, perhaps
to avoid conversion warnings. We compile with `-w` anyway.
* Providing debug variants for `CURLDEBUG`, which we do not use.
Replace the detection loops with hard-coded results that should work
well enough everywhere. This significantly reduces the number of
configure-time checks for building CMake on some platforms.
2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
75e87e3db4 bootstrap: update list of problematic files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4705
50cbc9b77a gitlab-ci: add a sphinx builder
d78bf2f229 ci: install sphinx into the CI image
671ff5f1ac ci: skip weak dependencies in the CI image
bdce0fc317 CTestCustom: fix indentation
e4f398e0af Help: add alt text to embedded images
758ab4dbd3 Utilities/Sphinx: allow CDash submission for the standalone build
16de8e3544 Utilities/Sphinx: support finding Qt5's qcollectiongenerator too
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4713
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`.
4318e8ed35 gitlab-ci: add iwyu job
0866b9253b gitlab-ci: add initial clang-tidy build
0a5bcf97b9 gitlab-ci: add scripts for use by CI
960158b90d ci: add scripts to download build tools
6af91c7c4d ci: add an image for Debian 10
68903ae238 ci: add a Docker container for building CMake
3ac24a8a6e cmFunctionBlocker: include missing header
b745b8fd36 IWYU: mark includes needed for assert statements as needed
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4643
Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.73.0
sources to compute dependencies.
This includes a new Boost.Nowide library.
Special case: Boost.Filesystem is an optional dependency as the include
is only required to make Boost.Filesystem use UTF-8 paths on user
request