Commit Graph

1425 Commits

Author SHA1 Message Date
Cristian Adam b8626261e9 Precompile headers: Add methods to generate PCH sources
Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
2019-08-28 11:47:40 -04:00
Brad King 74eef37bc7 Utilities/Release: Select MSVC runtime library via abstraction
Use the `CMAKE_MSVC_RUNTIME_LIBRARY` abstraction added by CMake 3.15
instead of hard-coding the `-MT` flag.
2019-08-23 10:55:59 -04:00
Brad King ed54d87789 Configure CMake itself with policies through CMake 3.15
In particular, set `CMP0091` to `NEW` to enable the MSVC runtime library
abstraction so it can be set via `CMAKE_MSVC_RUNTIME_LIBRARY` in the
cache.
2019-08-23 10:55:58 -04:00
Brad King ecdf38aa36 CMakeVersion: Move computation logic to main script 2019-07-29 11:25:43 -04:00
Kyle Edwards dd3e476786 OpenSSL: Issue an error if OpenSSL is not found
When building with the built-in Curl, CMAKE_USE_OPENSSL is only set
to ON by default if an OpenSSL installation is detected. However, this
can cause the user to mistakenly build without OpenSSL support if
OpenSSL is not installed, because CMAKE_USE_OPENSSL is set to OFF in
that case. Always set CMAKE_USE_OPENSSL to ON by default on systems
where it could be available, skipping the initial detection, resulting
in an error when we try to use OpenSSL later on. Detect this error
and advise the user to either install OpenSSL or set CMAKE_USE_OPENSSL
to OFF.

Co-Authored-by: Brad King <brad.king@kitware.com>
2019-07-18 11:10:36 -04:00
Craig Scott 0518e675ea CMake.qch: Don't include the version in the file name
Fixes: #19374
2019-07-17 21:35:12 +10:00
Marc Chevrier d9b2c7dae2 Introduce memory management helper: cm_memory.hxx 2019-07-14 15:37:30 +02:00
Brad King 329f0a64b0 Utilities/Release: Replace batch scripts with individual scripts
Provide a more granular per-platform workflow.
2019-07-11 10:24:28 -04:00
Brad King 71fbebd1dc IWYU: Fix handling of <memory> standard header
An old workaround for `std::allocator_traits<>::value_type` lints from
IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`.
Convert the workaround to use the same approach we already use for a
workaround of `std::__decay_and_strip<>::::__type` lints.  Then update
the `<memory>` inclusions to follow the now-correct IWYU lints.
2019-07-10 11:48:56 -04:00
Brad King 4fc10431f0 Merge topic 'elseif'
f4ed56ab63 Fix elseif() in place of else()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !3515
2019-07-10 09:26:39 -04:00
Artalus f4ed56ab63 Fix elseif() in place of else() 2019-07-03 11:57:53 +03:00
Brad King 5d8dcdf5be Merge topic 'update-expat'
0998f6396a Merge branch 'upstream-expat' into update-expat
ba13dc2aa8 expat 2019-06-19 (d3b78b42)
7449c63f3e expat: Update script to get Expat 2.2.7

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3501
2019-07-02 08:38:24 -04:00
Brad King 0998f6396a Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2019-06-19 (d3b78b42)
2019-07-01 09:42:12 -04:00
Brad King 7449c63f3e expat: Update script to get Expat 2.2.7 2019-07-01 09:41:47 -04:00
Brad King db4667cc72 libuv: fix compilation with macOS 10.10 SDK
The `F_BARRIERFSYNC` constant was not added until the macOS 10.11 SDK.
Hard-code its value instead.  This approach is backported from upstream
libuv PR 2334.
2019-06-19 06:57:38 -04:00
Kyle Edwards cee57246ef libuv: Add uv__statx() stub to cmake-bootstrap.c 2019-06-18 07:46:08 -04:00
Brad King 69b139cfca Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2019-06-10 (ee24ce90)
2019-06-18 07:45:53 -04:00
Zsolt Parragi 4fe34b2d29 Fixing warnings generated by clang 8.0 on Windows
* Deprecation removals previously specific to MSVC/Intel now also used
  by clang
* String literals were assigned to non const pointers. These are stored
  in mutable arrays now
* An implicit function pointer to pointer conversion is a Microsoft
  extension warning is suppressed by an explicit reinterpret_cast
* The MSVC specific deprecation macro for jsoncpp was moved after the
  clang macro to avoid redefinition warnings. This is consistent with
  how jsoncpp fixed the issue in 36d8cfd7
2019-05-29 18:18:09 +02:00
Brad King da78d0f5ea Merge topic 'rel-push'
9bf97363b0 Utilities/Release: Replace upload step with a "push" script
3a0ab3ba23 Utilities/Release: Teach upload script to compute version automatically

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3370
2019-05-28 11:43:24 -04:00
Brad King 9bf97363b0 Utilities/Release: Replace upload step with a "push" script
Replace the `upload_release.cmake` script with a `push.bash` script
that is more configurable from the command line and that does not
hard-code any destinations.  Instead of using `scp` to access
`cmake.org` directly, push the files atomically to a staging
directory from which another process will actually upload them.
2019-05-24 09:51:25 -04:00
Brad King 3a0ab3ba23 Utilities/Release: Teach upload script to compute version automatically
Read the version from `Source/CMakeVersion.cmake` instead of repeating it.
2019-05-24 08:04:11 -04:00
Brad King 90766347db curl: Update build within CMake to account for 7.65 changes 2019-05-22 14:22:22 -04:00
Brad King a39138ef9a Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2019-05-22 (885ce314)
2019-05-22 14:15:06 -04:00
Brad King 2de8af0121 curl: Update script to get curl 7.65.0 2019-05-22 14:11:29 -04:00
Brad King 974f4abbf8 Merge topic 'libarchive-solaris-11.4'
6c81c6538b libarchive: avoid b64_encode name conflict with Solaris built-in function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3351
2019-05-22 09:44:28 -04:00
Brad King 6c81c6538b libarchive: avoid b64_encode name conflict with Solaris built-in function
Solaris 11.4 has a built-in function named `b64_encode`.  Add a
`la_` prefix to our internal function to avoid conflict.

Fixes: #19268
2019-05-21 09:32:21 -04:00
Brad King 9a34031081 Utilities/Release: Enable signing of Windows release binaries 2019-05-08 13:18:31 -04:00
Brad King 1069a3f02b Configure CMake itself with policies through CMake 3.14
In particular, set `CMP0082` to `NEW` to interleave install commands
in the top-level directory with subdirectory installations.
2019-05-08 13:18:30 -04:00
Brad King aa0692de67 Merge topic 'argument-parser'
b783e62533 cmExecuteProcessCommand: Port to cmArgumentParser
9bddb03f31 cmParseArgumentsCommand: Port to cmArgumentParser
45edf1ad66 Retire cmCommandArgumentsHelper
f5acecaa6f cmExportCommand: Port to cmArgumentParser
e6b6bb0618 cmInstallCommand: Port to cmArgumentParser
4336a29edd cmFileCommand: Port to cmArgumentParser
4359fe133b Introduce cmArgumentParser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3137
2019-04-09 08:27:31 -04:00
mistersandman 18962f8f8f Utilities/Release: Link statically to QWindowsVistaStyle plugin
We now build with Qt 5.12.  This plugin is needed with Qt >= 5.10.

Fixes: #19147
Suggested-by: mistersandman on gitlab.kitware.com
2019-04-08 13:30:36 -04:00
Regina Pfeifer 4359fe133b Introduce cmArgumentParser 2019-04-04 13:24:39 -04:00
Brad King 775c8b21da update-third-party: update from upstream
Update to `update-common.sh` from commit 958a2cd1b9 in

    https://gitlab.kitware.com/utils/git-import-third-party
2019-03-21 12:37:25 -04:00
Brad King 8d179cce87 Merge topic 'import-zstd'
80af3ddea7 zstd: Disable BMI2 instructions for build within CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3107
2019-03-18 11:24:30 -04:00
Brad King 80af3ddea7 zstd: Disable BMI2 instructions for build within CMake
Our nightly and release binaries build in an environment that does not
support these instructions.  Disable them everywhere for simplicity
because CMake's application of this library is not performance-critical.
2019-03-15 10:05:23 -04:00
Brad King 9915003eae Merge topic 'import-zstd'
1761a9a546 CMake: Enable use of zstd in libarchive
2cf2921749 zstd: Add CMake build system
f92b4b52eb Merge branch 'upstream-zstd' into import-zstd
fbaf65639a zstd 2018-12-27 (470344d3)
9337cbfcca zstd: add script to import zstd from upstream

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Merge-request: !3092
2019-03-14 11:08:43 -04:00
Brad King 1761a9a546 CMake: Enable use of zstd in libarchive
Build zstd as part of CMake or find one on the system.  Modify our
port of libarchive to use the zstd configured for use with CMake.

Issue: #18657
2019-03-13 10:47:21 -04:00
Brad King 2cf2921749 zstd: Add CMake build system
Although the upstream has a CMake build system, it is meant for the
complete package.  Add a simple one to build just the static library
we need within CMake.
2019-03-13 10:47:16 -04:00
Brad King f92b4b52eb Merge branch 'upstream-zstd' into import-zstd
* upstream-zstd:
  zstd 2018-12-27 (470344d3)
2019-03-13 10:46:32 -04:00
Brad King 9337cbfcca zstd: add script to import zstd from upstream 2019-03-13 10:46:14 -04:00
Brad King d7c4a8ab81 Merge topic 'wix-cmake-downgrade-fix'
7593bdf4e8 CMake: Fix WiX installer downgrades with versioned binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3087
2019-03-13 10:08:03 -04:00
Brad King 225675b1a2 Merge branch 'wix-cmake-downgrade-fix' into release-3.14
Merge-request: !3087
2019-03-12 09:41:37 -04:00
Nils Gladitz 7593bdf4e8 CMake: Fix WiX installer downgrades with versioned binaries
Since commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25, v3.11.0-rc1~411^2) our binaries have version
information that prevents a `.msi` downgrade from replacing them by
default.  Configure the re-install mode:

* a: reinstall all files regardless of version
* m: rewrite all per-machine registry entries
* u: rewrite all per-user registry entries
* s: reinstall shortcuts and icons

Fixes: #19006
2019-03-12 09:39:35 -04:00
Brad King adba2945b3 Utilities/Release: Update to Qt 5.12 on Windows builds 2019-03-08 07:23:55 -05:00
Brad King 58426958ab Utilities/Release: Update for using Windows 10 SDK
In commit e903a9fc55 (Utilities/Release: Create a Windows 64-bit binary,
2016-03-16, v3.6.0-rc1~235^2~2) we added a `_USING_V110_SDK71_` macro to
tell the MSVC standard library headers they were using an older SDK.
The environment in which our Windows binaries are produced has been
updated to use a Windows 10 SDK now that we do not need to support
WinXP, so we can drop the definition.
2019-03-08 07:23:55 -05:00
Brad King 23bcac5d58 Merge topic 'ctest-clean-compress'
b5a69c6279 cmcompress: Delete unused 3rdParty module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3019
2019-02-27 08:20:03 -05:00
Brad King d9d285c5ad jsoncpp: Fix include order for build within CMake
Include the KWSys `Configure.h` header first to get its large file
support definitions before including system headers.
2019-02-25 08:26:20 -05:00
Brad King 0d489fab19 libuv: fix atomic ops compilation with xlclang 2019-02-25 08:26:20 -05:00
Brad King 1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang 2019-02-25 08:26:17 -05:00
Regina Pfeifer b5a69c6279 cmcompress: Delete unused 3rdParty module 2019-02-25 09:36:27 +01:00
Brad King 214fcefa52 Remove now-unused code once used for MIPSpro on IRIX
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
2019-02-21 11:12:51 -05:00