1483 Commits

Author SHA1 Message Date
Brad King
2c95c35c51 Utilities/Release: Add docker spec for STGZ package on Linux
The spec added by commit facc240a45 (Utilities/Release: Add docker specs
to build and test Linux binaries, 2019-08-23) generates only the TGZ
package, but the old `Utilities/Release/linux64_release.cmake` script
also generated a STGZ package.
2019-08-29 13:04:27 -04:00
Brad King
fa36e2151d Merge topic 'precompile-headers'
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Ivan171 <heavenandhell171@gmail.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Steve Mokris <smokris@softpixel.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Danila Malyutin <flashmozzg@gmail.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Acked-by: Lucas Zhao <zhaopf6@163.com>
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Brad King
4929453504 Merge topic 'docker-rel-linux'
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
2d7cfd30ac Utilities/Release: Drop source archive generation in scripts
facc240a45 Utilities/Release: Add docker specs to build and test Linux binaries
bf832ccf01 Utilities/Release: Add README.rst describing directory content
ab153f17bf Utilities/Release: Drop machine-specific README
ed294c1664 Add option to skip CMake tests that need network access
4b8a864d52 Add option to test CMake itself against its hosting CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gregor Jasny <gjasny@googlemail.com>
Merge-request: !3727
2019-08-29 09:32:13 -04:00
Brad King
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
Drop also drop the CMakeNightlyLinux64 test that uses the script.
2019-08-28 13:20:36 -04:00
Brad King
2d7cfd30ac Utilities/Release: Drop source archive generation in scripts
We will generate the `.tar.gz` and `.zip` source archives using
`git archive` in the scripts that drive the Linux build with Docker.
2019-08-28 13:20:36 -04:00
Brad King
facc240a45 Utilities/Release: Add docker specs to build and test Linux binaries
These will allow anyone to produce portable binaries like those
published on `cmake.org`.
2019-08-28 13:20:36 -04:00
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
bf832ccf01 Utilities/Release: Add README.rst describing directory content 2019-08-23 13:31:54 -04:00
Brad King
ab153f17bf Utilities/Release: Drop machine-specific README 2019-08-23 13:29:49 -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