Commit Graph

1496 Commits

Author SHA1 Message Date
Brad King
89ab893469 Merge topic 'fix-no-testing'
a834bcaa91 Tests: Add missing BUILD_TESTING conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dan Ibanez <daibane@sandia.gov>
Merge-request: !2520
2018-10-25 07:25:13 -04:00
Brad King
a834bcaa91 Tests: Add missing BUILD_TESTING conditions
We should not call `add_test` unless `BUILD_TESTING` is enabled.

Fixes: #18500
2018-10-24 15:51:17 -04:00
Brad King
5112a76a17 Merge topic 'update-curl'
0310024563 curl: Update build within CMake to account for 7.61 changes
b9d1107790 curl: Backport to work with CMake 3.1 again
e9e8dcee6b Merge branch 'upstream-curl' into update-curl
18812a9c3d curl 2018-09-04 (432eb5f5)
ded211ae46 curl: Update script to get curl 7.61.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2509
2018-10-23 10:20:56 -04:00
Brad King
887ba2dc5f Merge topic 'curl-ssize_t'
3dc484e531 curl: add missing type sizes for 'long long' and '__int64'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2513
2018-10-23 10:19:58 -04:00
Brad King
ec13ba36b5 Merge branch 'update-curl' into release-3.13
Merge-request: !2509
2018-10-22 12:55:14 -04:00
Brad King
8b5cd17000 Merge branch 'curl-ssize_t' into release-3.13
Merge-request: !2513
2018-10-22 12:55:05 -04:00
Brad King
3dc484e531 curl: add missing type sizes for 'long long' and '__int64'
When generating `curl_config.h`, add size information for `long long`
and `__int64` types.  These are needed as candidates for defining the
`ssize_t` type because on MSVC, `long` is not the same size as `size_t`.

This problem did not affect upstream curl because it computes the
`ssize_t` type in CMake code where all sizes are available.  CMake's
port computes it in preprocessor logic because universal binaries on
macOS do not know type sizes until compile time.

Fixes: #18477
2018-10-22 12:02:38 -04:00
Brad King
0310024563 curl: Update build within CMake to account for 7.61 changes
The_CURL_STATICLIB option was replaced by BUILD_SHARED_LIBS.

Drop our own CURL_STATICLIB compile definition because it is now
provided by curl's usage requirements.
2018-10-22 08:55:40 -04:00
Brad King
b9d1107790 curl: Backport to work with CMake 3.1 again
Curl 7.61.1 requires CMake 3.4 to build from source and also exposes
a dependency on OpenSSL imported targets.  Revert that part of the
changes imported from curl upstream.
2018-10-22 08:51:01 -04:00
Brad King
e9e8dcee6b Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2018-09-04 (432eb5f5)
2018-10-22 08:48:58 -04:00
Brad King
ded211ae46 curl: Update script to get curl 7.61.1 2018-10-22 08:23:52 -04:00
Brad King
29ec12fb4f Merge topic 'cmake-through-3.12'
95b4b9137a Declare support for CMake versions through 3.12 for own build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2496
2018-10-19 09:58:27 -04:00
Craig Scott
7053dd301c Merge topic 'help-syntax-highlighting'
93f3f65516 Help: Revise docs of modules AddFileDependencies..CheckFunctionExists
fc7ee1ca45 Help: Override pygments CMakeLexer to support <..> and [..]
74b3eacdc7 Help: Use appropriate list types in FindPkgConfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2468
2018-10-19 06:31:55 -04:00
Joachim Wuttke (o)
fc7ee1ca45 Help: Override pygments CMakeLexer to support <..> and [..]
* The code snippets in the docs consist of CMake code mixed
  with syntax definition punctuation like < > [ ] ... Therefore
  a pure CMake lexer is inadequate. Here it is replaced by a
  CMake syntax definition parser.
* Fixed syntax definition snippets in FindPkgConfig.cmake to
  make best use of syntax highlighting. This source file is the
  hardest to support because it contains comparison operators
  <= = >=, which need special attention to avoid confusion
  with the placeholder indicators <...>.
* Fixed syntax in execute_process.rst (there were unbalanced
  brackets).
* Disabled syntax highlighting for long string examples in
  cmake-language.7.rst.
* No highlighting of removed syntax in CMP0049
* To inspect the outcome of this patch, see e.g. the pages
  * manual/cmake-buildsystem.7.html
  * module/ExternalProject.html
  * module/FindPkgConfig.html
  which are particularly rich in complex code snippets.
2018-10-19 07:25:34 +11:00
Brad King
56c85d9429 Merge topic 'rel-doc-qthelp'
1d5c8b81db Utilities/Release: Add qthelp docs to binary archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2497
2018-10-18 07:38:15 -04:00
Brad King
1d5c8b81db Utilities/Release: Add qthelp docs to binary archives
Fixes: #18465
2018-10-17 14:38:46 -04:00
Brad King
95b4b9137a Declare support for CMake versions through 3.12 for own build
CMake 3.12 introduced a `...<max>` syntax in the version given to
`cmake_minimum_required` to automatically set policies to NEW up
to that version.  Use it to avoid listing policies explicitly.

The syntax is compatible with older versions of CMake such that they use
the extended version string for the `CMAKE_MINIMUM_REQUIRED_VERSION`
variable (which we don't use) but otherwise ignore it.
2018-10-17 14:29:16 -04:00
Brad King
ab6bf9d0ad Utilities/Release: Update to openssl-1.1.1
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2018-10-08 10:42:12 -04:00
Brad King
94652e8733 CMake 3.13.0-rc1 version update 2018-10-03 12:53:38 -04:00
Brad King
a4b9e59568 Merge topic 'libuv-gnu-hurd'
3c0bfb596f libuv: do not require PATH_MAX to be defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2422
2018-10-03 08:03:47 -04:00
Brad King
3c0bfb596f libuv: do not require PATH_MAX to be defined
Some platforms (e.g. GNU/Hurd) do not define PATH_MAX.  Add a few other
variants and a fallback constant.  Also use alternatives where possible:

* For readlink(), use lstat() to read the length of the link first.
  If it is not a symlink, report EINVAL before trying to allocate.
  If the size reports as zero, fall back one of the PATH_MAX variants.

* For realpath(), POSIX 2008 allows us to pass a NULL buffer
  to tell it to malloc() internally.

This patch was inspired by downstream patches in Debian packaging
for issues 897061 and 909011.

Issue: #18337
2018-10-01 08:22:38 -04:00
Brad King
6a4b1006f9 Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2018-09-03 (5fe69dd0)
2018-09-26 09:53:15 -04:00
Brad King
710f37c47a libarchive: Update script to get 3.3.3 2018-09-26 09:52:01 -04:00
Brad King
97e1213a88 Merge branch 'libarchive-libressl-2.7' into update-libarchive 2018-09-26 09:51:12 -04:00
Brad King
e7e88e955b libarchive: Backport fix for build with LibreSSL 2.7
Backport libarchive commit v3.3.3~16^2 (fix build with LibreSSL 2.7,
2018-04-01).  LibreSSL 2.7 adds OpenSSL 1.1 API leading to conflicts on
method names.

Fixes: #18404
2018-09-26 09:47:53 -04:00
Brad King
830d4760db Utilities/Release: Build with gcc 8.2 on Linux
Also add a binutils-2.31 to CMAKE_PREFIX_PATH in the environment so that
tests that look for them with `find_program` can find a newer version.
This is needed for the build id support in readelf.
2018-09-25 16:53:11 -04:00
Brad King
366df05ac0 Merge topic 'rel-win-nightly'
bab868be13 Utilities/Release: Skip spurious ExternalData test for nightly binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2404
2018-09-20 09:37:24 -04:00
Brad King
bab868be13 Utilities/Release: Skip spurious ExternalData test for nightly binary
This test fails spuriously too often and prevents the nightly binary
from finishing.  Simply skip it for the nightly binary to allow it to
complete more regularly.
2018-09-19 10:59:21 -04:00
Gregor Jasny
7e33050558 libuv: Add kFreeBSD platform-specific files
Issue 18375
2018-09-18 20:22:55 +02:00
T.J. Corona
66f59bd7da cmake-gui: Update icons 2018-08-16 11:56:08 -04:00
Brad King
574666b6cb librhash: Avoid incorrect int8_t definition with PGI on Linux ppc64le
`sys/types.h` defines `int8_t` incorrectly as `char` which is unsigned.
Adjust ordering so `inttypes.h` defines it as `signed char` first.
2018-08-09 11:51:22 -04:00
Brad King
ea3456c844 Merge topic 'update-liblzma'
1e9c1d0c87 CTestCustom: Suppress scanbuild warning in liblzma
2461dd79e5 liblzma: Suppress MSVC warning parameter difference warning
9f77124ea8 liblzma: Drop checks for inline and restrict keywords
7a976ee742 Merge branch 'upstream-liblzma' into update-liblzma
352b8fa70d liblzma 2018-04-29 (b5be61cc)
021b54cab8 liblzma: Revise update script to get version 5.2.4
6b494f567a Merge branch 'upstream-liblzma' into update-liblzma
897b790d57 liblzma 2014-12-21 (265e5ffb)
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2264
2018-08-09 07:55:38 -04:00
Brad King
aefb8559dc IWYU: Fix workaround mapping for std::hash
It is provided by `functional`, not `utility`.  Fix the mapping added by
commit 276d3c7afe (IWYU: Add workaround mapping for std::hash,
2018-07-31).  Also generalize the workaround from commit v3.12.0-rc1~39^2~1
(IWYU: Define a macro to tell code it is preprocessing for iwyu,
2018-05-25) to allow local builds to configure specific flags.  This
is needed because iwyu behaves differently in different environments.
2018-08-07 12:04:58 -04:00
Brad King
2461dd79e5 liblzma: Suppress MSVC warning parameter difference warning
Some `.c` sources add `restrict` to their pointer types to tell
the optimizer that there is no aliasing.  These do not appear in
the corresponding `.h` declarations so MSVC warns.
2018-08-06 10:29:33 -04:00
Brad King
9f77124ea8 liblzma: Drop checks for inline and restrict keywords
We now require the compiler to support these, except for MSVC where
upstream liblzma already has special cases (in `common/sysdefs.h`).
2018-08-06 10:25:46 -04:00
Brad King
7a976ee742 Merge branch 'upstream-liblzma' into update-liblzma
* upstream-liblzma:
  liblzma 2018-04-29 (b5be61cc)
2018-08-06 10:24:55 -04:00
Brad King
021b54cab8 liblzma: Revise update script to get version 5.2.4 2018-08-06 10:24:21 -04:00
Brad King
78ec8b7552 liblzma: Avoid importing upstream makefiles 2018-08-06 10:23:06 -04:00
Brad King
83215720fb liblzma: Name sizeof size_t macro consistently with upstream 2018-08-06 10:23:01 -04:00
Brad King
6166adfdd4 liblzma: Revert "Port from C99 to C89/90"
Revert commit v3.1.0-rc1~255^2~5 (liblzma: Port from C99 to C89/90,
2014-07-13).  We now compile as C99 or above except on MSVC where
we will use another approach.
2018-08-06 10:22:56 -04:00
Brad King
0a3912112d liblzma: Revert "Avoid defining a 'restrict' macro"
Revert commit v3.1.0-rc1~255^2~2 (liblzma: Avoid defining a 'restrict'
macro, 2014-07-24).  We will use another approach to deal with the
'restrict' keyword.
2018-08-06 09:47:42 -04:00
Brad King
276d3c7afe IWYU: Add workaround mapping for std::hash
When using GCC 8's standard library IWYU thinks that `<system_error>`
must be included to get `std::hash`.  Add a mapping for `<utility>`.
2018-07-31 09:34:55 -04:00
Brad King
eb63a07eaa Utilities/Release: Explicitly enable ccmake on macOS and Linux
Since commit v3.12.0-rc1~325^2 (ccmake: Check for curses more robustly
before enabling, 2018-03-21) we may not enable ccmake by default when
using a non-system curses (e.g. the static curses we build on Linux for
our binaries).  Enable the option explicitly for our prebuilt binaries.
2018-07-02 11:36:15 -04:00
Kyle Edwards
2a2829cc75 Help: Add new section for CPack generators
The documentation for CPack generators previously lived in their
respective internal CMake modules. This setup was misleading,
because it implied that you should include the modules in your own
code, which is not the case. Moving the documentation into a
separate section does a better job of hiding the internal modules,
which are just an implementation detail. The generator documentation
has also been modified to remove any references to the module name.

The CPackIFW module is a special exception: since it has user-facing
macros, the documentation for these macros has been kept in the module
page, while all other documentation related to the IFW generator has
been moved into the new section.

To make it easier to find the new documentation, the old help pages
for the CPack*.cmake modules have not been deleted, but have been
replaced with a link to their respective help page in the new
documentation section.
2018-06-21 11:00:25 -04:00
Brad King
ef5e2e8a62 Merge branch 'sphinx-info' into release-3.12
Merge-request: !2146
2018-06-13 10:52:11 -04:00
Brad King
aa155de860 Merge topic 'sphinx-info'
276e369813 Utilities/Sphinx: Add option to build and install Info manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2146
2018-06-13 10:50:14 -04:00
Orivej Desh
276e369813 Utilities/Sphinx: Add option to build and install Info manual
Add option `SPHINX_INFO` to enable the Sphinx 'texinfo' builder and use
the `makeinfo` tool to convert it to a `.info` file.
2018-06-12 10:25:37 -04:00
Brad King
af63c8bd61 CMake 3.12.0-rc1 version update 2018-06-05 11:43:10 -04:00
luz.paz
be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Kitware Robot
d7204e649e Revise C++ coding style using clang-format-6.0
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2018-06-01 09:53:42 -04:00