Commit Graph

1294 Commits

Author SHA1 Message Date
Brad King 722056372e Merge topic 'update-curl'
3e913b819d Merge branch 'upstream-curl' into update-curl
d431136e02 curl 2018-05-15 (cb013830)
f3c73b878c curl: Update script to get curl 7.60.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2091
2018-05-21 09:53:06 -04:00
Brad King 3e913b819d Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2018-05-15 (cb013830)
2018-05-18 10:16:50 -04:00
Brad King f3c73b878c curl: Update script to get curl 7.60.0 2018-05-18 10:15:46 -04:00
Brad King 8cfc45f6bd clang-format: Explicitly require version 3.8 of the tool
Versions of clang-format newer than 3.8 produce different output.
Our source code guide says that version 3.8 exactly must be used.
Update the comment in our `.clang-format` config file accordingly.
Add a check to our formatting script to verify the version.
Also update its tool search to look for the explicitly-named
3.8 variant first.
2018-05-18 09:19:10 -04:00
Daniel Franke 7a33cfc1bc regenerate-parsers.bash: Add script to automate parser generation
This depends on

- a suitable flex version in PATH (currently 3.0.4)
- a suitable version of 'sed' in PATH (e.g. GNU sed)
2018-05-16 11:47:44 -04:00
Daniel Franke 3d382a494f regenerate-lexers.bash: Add option to check timestamps 2018-05-16 11:47:41 -04:00
Daniel Franke 5cd9f5c965 regenerate-lexers.bash: Factor file names into variables 2018-05-16 11:47:37 -04:00
Brad King 65431c727b Merge topic 'update-libuv'
0d389d175a libuv: Revert local linux/sparc64 fix now that we have upstream fix
42fbb28516 Merge branch 'upstream-libuv' into update-libuv
c8b67ea119 libuv 2018-05-06 (bf605bd7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2049
2018-05-08 08:34:51 -04:00
Brad King d165fd1727 Merge topic 'doc-code-block-highlight'
8114b00b02 Utilities/Sphinx: Do not highlight unspecified code blocks as python

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2047
2018-05-08 08:28:19 -04:00
Brad King 0d389d175a libuv: Revert local linux/sparc64 fix now that we have upstream fix 2018-05-07 11:49:25 -04:00
Brad King 42fbb28516 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2018-05-06 (bf605bd7)
2018-05-07 11:48:01 -04:00
Brad King 72814e46da Utilities/Sphinx: Make HTML links in parsed-literal blocks more obvious
Hyperlink text color does not stand out when used inside a literal block
because such blocks typically get syntax highlighting.  Update our CSS
style to make the links more distinct.

Suggested-by: Kyle Edwards <kyle.edwards@kitware.com>
2018-05-07 10:10:37 -04:00
Brad King 8114b00b02 Utilities/Sphinx: Do not highlight unspecified code blocks as python 2018-05-04 14:57:36 -04:00
Brad King 593c409a65 Merge topic 'ctest-libuv-linux-sparc64'
1c22fdf360 libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2029
2018-05-03 08:13:16 -04:00
Brad King 1c22fdf360 libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCK
Upstream libuv commits:

* node-v0.6.0~28 (linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall, 2011-10-29)
* v1.11.0~11 (unix: use async-signal safe functions between fork and exec, 2016-12-12)

left an asymmetry in the way O_NONBLOCK is set and cleared.  Normally
ioctl/FIONBIO is used for both.  However, uv_spawn uses fcntl/O_NONBLOCK
to clear O_NONBLOCK between fork and exec.  This fails on Linux/sparc64
where setting via ioctl/FIONBIO actually sets two bits (in O_NDELAY)
that cause clearing via fcntl/O_NONBLOCK to be silently ignored (though
clearing via ioctl/FIONBIO or fcntl/O_NDELAY works).

Since CMake commit v3.11.0-rc1~117^2 (CTest: Re-implement test process
handling using libuv, 2017-12-10), CTest uses libuv.  On Linux/sparc64
child processes have been started with non-blocking output pipes.  This
can lead to write errors or lost output from children not prepared to
deal with `EAGAIN` on stdout or stderr.

Fix this for now by switching libuv back to fcntl/O_NONBLOCK to set and
clear O_NONBLOCK when compiled on Linux/sparc64.

LibUV-Issue: 1830
Fixes: #17941
2018-05-02 11:16:19 -04:00
Brad King 8acf46caf1 Utilities/Sphinx: Add role and directive for 'envvar' in CMake domain
This enables cross-reference syntax for CMake environment variables:

    :envvar:`SOMEVAR`

and definition of CMake environment variables via a directive:

    .. envvar:: SOMEVAR

It also adds environment variables defined by the directive and by
`Help/envvar/SOMEVAR.rst` documents to the index.

This `envvar` role and directive is defined in our `cmake` domain
and overrides the equivalent `envvar` role and directive provided
by Sphinx in its default domain.  This is okay because we build
CMake documents in the `cmakd` domain.

This follows up the work from commit v3.10.0-rc1~43^2 (Help: Document
CMake's environment variables, 2017-09-01) that originally added
`envvar` documentation.
2018-04-19 09:02:44 -04:00
Brad King 7e532abc78 Utilities/Sphinx: Fix QtHelp generator identifiers
Add missinge entry in `create_identifiers.py` helper.
2018-04-19 08:48:28 -04:00
Jean-Christophe Fillion-Robin 52b1419040 Utilities/Release: Remove extra colon from release scripts
The type of the `BUILD_QtDialog` cache entry is `BOOL`, not `BOOL:`.
2018-04-03 14:11:38 -04:00
Brad King c5428d8db2 libuv: disable process affinity during CMake bootstrap
Avoid depending on platform-specific pthread features during bootstrap.
2018-03-05 09:21:31 -05:00
Brad King 24de561a1a libuv: unix,win: add uv_spawn option to set child CPU affinity mask
Implement it on Linux, FreeBSD, and Windows for now, and fail with
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King 43d6e5a71f libuv: misc: add function to get CPU affinity mask size
Implement it on Linux, FreeBSD, and Windows for now, and return
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King 51b287c40c CMake 3.11.0-rc1 version update 2018-02-05 11:16:50 -05:00
Brad King cd8e31a1bf Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2018-01-23 (d6c21c8e)
2018-01-24 14:18:16 -05:00
Brad King e9c8ea7557 curl: Update script to get curl 7.58.0 2018-01-24 14:14:04 -05:00
Brad King 63f263b27f Merge topic 'update-libuv'
6db7b352 libuv: Update build within CMake
b58d48c1 Merge branch 'upstream-libuv' into update-libuv
f4a26c74 libuv 2018-01-19 (63de1eca)
e8b57c22 libuv: Teach import script to add missing newlines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1666
2018-01-22 10:18:44 -05:00
Brad King e720a34399 IWYU: Add more workaround mappings for internal bits
Extend our hack section of mappings to work around IWYU incorrectly
requiring:

* bits/stdint-uintn.h for stdint.h
* bits/stdint-intn.h for stdint.h
* bits/types/mbstate_t.h for wchar.h
2018-01-22 09:56:30 -05:00
Brad King 6db7b35236 libuv: Update build within CMake
Update our CMake build rules to account for upstream changes.
2018-01-19 13:03:12 -05:00
Brad King b58d48c15f Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2018-01-19 (63de1eca)
2018-01-19 13:03:04 -05:00
Brad King e8b57c2283 libuv: Teach import script to add missing newlines 2018-01-16 13:27:23 -05:00
Brad King 4cf08c96f8 Merge topic 'ctest-libuv'
b5e21d7d CTest: Re-implement test process handling using libuv
fcebff75 cmProcess: Use explicit enum for process exit exception
3dd2edf4 cmProcess: Use explicit enum for process state
5238e6db cmProcess: Remove unused ReportStatus method
c13b68e6 cmCTestRunTest: Modernize constructor and destructor decls
4d6b0903 cmCTestRunTest: Drop unused members
05da65bc cmCTestMultiProcessHandler: Factor out duplicate test finish logic
dd945345 cmCTestMultiProcessHandler: Add helper to make libuv use SA_RESTART
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1455
2018-01-11 15:33:03 -05:00
Brad King 8a53242df9 Merge branch 'upstream-KWIML' into update-kwiml
* upstream-KWIML:
  KWIML 2018-01-09 (9c2d6cae)
2018-01-09 08:51:59 -05:00
Brad King 4ffb0f8b45 libuv: unix: restart syscalls interrupted by our signal handler
BSD `signal(2)` semantics make some system calls (e.g. for `write`)
restartable when interrupted by a signal handler.  Use `SA_RESTART` to
enable these semantics everywhere that supports them.

This is required by C++ stream libraries that interpret `EINTR` as any
other error, set `badbit`, and stop writing.  I've observed this with
`libstdc++` during a `std::cout.flush()` call interrupted by `SIGCHLD`.
2018-01-08 12:55:00 -05:00
Brad King b8e7af979d Merge topic 'ctest-chrono'
66419bc0 CTest: convert timeouts to std::chrono::duration
923b8fad IWYU: Add mappings for std::enable_if on chrono durations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1513
2017-12-05 08:12:52 -05:00
Wouter Klouwen 66419bc046 CTest: convert timeouts to std::chrono::duration
This commit continues the refactoring of CTest to adopt std::chrono.
After the last sets of changes that introduced std::chrono::steady_clock
and std::chrono::system_clock respectively, it makes sense to have all
the timeouts be stored as std::chrono::duration.

No functional change intended.
2017-12-04 10:43:14 -05:00
Brad King 5cb64508a3 Merge branch 'upstream-GitSetup' into update-gitsetup
* upstream-GitSetup:
  GitSetup 2017-10-26 (1639317d)
2017-11-30 14:55:34 -05:00
Brad King cbd37fbec3 GitSetup: Restrict import to files we need 2017-11-30 14:55:16 -05:00
Brad King 923b8fadd5 IWYU: Add mappings for std::enable_if on chrono durations
IWYU incorrectly classifies this internal STL type as not internal, and
suggests including `<type_traits>` for it.  Work around the problem by
mapping the offending names to a file that we always include.

See include-what-you-use issue 434.
2017-11-28 10:50:44 -05:00
Brad King e5fdbcc9da IWYU: Add more mappings for std::__decay_and_strip
IWYU incorrectly classifies this internal STL type as not internal, and
suggests including `<type_traits>` for it.  Work around the problem by
mapping the offending names to a file that we always include.

See include-what-you-use issue 434.
2017-11-21 14:22:40 -05:00
Brad King b40d45cdb1 Utilities/Release: Update to openssl-1.1.0g
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.

Now that we require pthreads for libuv anyway, we can use OpenSSL 1.1
along with its dependency on pthreads.
2017-11-14 09:43:03 -05:00
Brad King 78aeb30075 Utilities/Release: Update to openssl-1.0.2m
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2017-11-14 09:36:07 -05:00
Brad King 313a565729 Utilities/Release: Build static executables on Windows
Switch to the MSVC static runtime library (and static UCRT).
Link Qt statically, including the Windows platform plugin.
Disable the Qt tests because they are incompatible with a
Qt using a static runtime library.
2017-11-14 07:26:36 -05:00
Brad King a12830c2fd Utilities/Release: Remove unused setting in Linux build
CMake_INSTALL_DEPENDENCIES is not needed because we link both
Qt and the toolchain runtime library statically.
2017-11-14 07:26:36 -05:00
luzpaz 777e87ae00 Fix trivial typos in text
Some are user facing.

Found using

    codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt`

whereby the whitelist contained:

    ans
    dum
    helpfull
    emmited
    emmitted
    buil
    iff
    isnt
    nto
    ot
    pathes
    substract
    te
    todays
    upto
    whitespaces
2017-11-03 10:25:05 -04:00
Brad King 48a58e91a6 Merge topic 'update-curl'
bb759148 curl: Update build within CMake to account for 7.56 changes
9e3ef40e Merge branch 'upstream-curl' into update-curl
de7c21d6 curl 2017-10-04 (3ea76790)
2fad0e20 curl: Update script to get curl 7.56.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1372
2017-10-11 08:14:44 -04:00
Brad King bb7591487d curl: Update build within CMake to account for 7.56 changes 2017-10-10 11:15:20 -04:00
Brad King 9e3ef40edb Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2017-10-04 (3ea76790)
2017-10-10 11:15:16 -04:00
Brad King 2fad0e20b6 curl: Update script to get curl 7.56.0 2017-10-10 11:14:42 -04:00
Brad King 05373ee1a2 CMake 3.10.0-rc1 version update 2017-10-05 09:55:23 -04:00
Matthias Maennich 574d694337 clang-format.bash: minor fixes to support MacOS
- sed on Mac does not support embedded sed statements, hence eliminating
  the non-matches via grep

- xargs on Mac does not support -d, but does support -0, hence replacing
2017-10-03 22:16:07 +02:00
Matthias Maennich f0489856e3 Retire std::auto_ptr and its macro CM_AUTO_PTR
Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-09-26 00:07:19 +02:00