Commit Graph

1458 Commits

Author SHA1 Message Date
Marc Chevrier
a38d04c076 Refactoring: introduce header cmext/algorithm with append functions 2019-12-17 10:43:58 +01:00
Marc Chevrier
fc3b4caa2e Memory management: cast functions for managed pointers 2019-11-27 16:03:04 +01:00
Arkadiusz Drabczyk
5129e97285 setup-user: switch to git-var to check if username and e-mail are set
In git, apart from setting username and e-mail in .gitconfig it's also
possible to set username in /etc/passwd and set e-mail using EMAIL
environment variable.  The advantage of this method is that other
programs such as mutt or doxygen will pick up these settings up so
there is no need to set them separately in each program.  Current way
of checking if username and e-mail are set using git config results in
failure if they are set using this method.
2019-11-24 19:10:56 +01:00
Kyle Edwards
5695b0464b Merge topic 'cmake-e-rm'
2d0100fac7 replace remove and remove_directory with rm in tests
5239fc5c75 cmake -E: Add rm with improved semantics over remove and remove_directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3949
2019-11-15 09:57:56 -05:00
Marc Chevrier
8dd284bf19 cmFileLockPool: enhance items management 2019-11-14 14:21:30 +01:00
Johnny Jazeix
2d0100fac7 replace remove and remove_directory with rm in tests 2019-11-13 18:02:18 -05:00
Brad King
11c83957ac Merge topic 'update-expat'
50bc359184 expat: Update CMake build for 2.2.9
b63a5c88a2 Merge branch 'upstream-expat' into update-expat
1712885b4f expat 2019-09-25 (a7bc26b6)
512fabaa9d expat: Update script to get Expat 2.2.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4032
2019-11-12 09:38:22 -05:00
Brad King
50bc359184 expat: Update CMake build for 2.2.9 2019-11-11 10:44:17 -05:00
Brad King
b63a5c88a2 Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2019-09-25 (a7bc26b6)
2019-11-11 10:42:32 -05:00
Brad King
512fabaa9d expat: Update script to get Expat 2.2.9 2019-11-11 10:38:13 -05:00
Kyle Edwards
bea26f5aa0 Merge topic 'ctest-resource-groups'
016601e5e6 Merge branch 'backport-ctest-resource-groups'
c1435d9812 Help: Fix error in resource allocation example
eb9d945f14 CTest: Rename hardware -> resources for RunCMake tests
c544cb6698 CTest: Rename hardware -> resources for source code
6ce27d3a2e cmCTestMultiProcessHandler: Rename resource locking functions
a7c1e15cc4 CTest: Rename hardware -> resources for CMake variables, command options
73a40b19ff CTest: Rename "Processes" lexer to "ResourceGroups"
af9ed543b0 CTest: Rename PROCESSES test property to RESOURCE_GROUPS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3994
2019-11-07 13:10:57 -05:00
Alex Turbov
53227a4ff2
Refactor: Modernize foreach code and fix some bugs
- fix the typo in `foreach` documentation
- fix broken `foreach(... IN ITEMS ... LISTS ...)`
- add tests of `foreach` for existed functionality and fixes
2019-11-06 16:14:47 +02:00
Brad King
016601e5e6 Merge branch 'backport-ctest-resource-groups' 2019-11-05 12:59:16 -05:00
Brad King
73a40b19ff CTest: Rename "Processes" lexer to "ResourceGroups"
The corresponding test property `PROCESSES` has been renamed to
`RESOURCE_GROUPS`.
2019-11-05 12:08:35 -05:00
Brad King
1529f4a930 Utilities/Release: Teach "push" script to create destination subdirectory
Extend the script added by commit 9bf97363b0 (Utilities/Release: Replace
upload step with a "push" script, 2019-05-24, v3.15.0-rc1~56^2) to
create the destination subdirectory for the CMake version being pushed.
2019-10-10 14:24:32 -04:00
Kyle Edwards
bb4a141059 CTest: Add lexer for PROCESSES property 2019-10-02 09:33:54 -04:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Regina Pfeifer
6a05bd3fa6 cm/algorithm: Provide function cm::clamp 2019-09-25 10:30:58 +02:00
Brad King
3d1fb997e5 Merge topic 'HP-UX_Port_GCC'
ba315f2035 bootstrap: Require GCC 4.9 or higher on HP-UX
5ffb2dbff6 libuv: Add partial port to HP-UX
1059f9a96d jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3508
2019-09-23 10:32:42 -04:00
Earle Lowe
5ffb2dbff6 libuv: Add partial port to HP-UX
Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for
CMake.
2019-09-20 10:30:01 -04:00
Earle Lowe
1059f9a96d jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3
In particular, fix the `isfinite` definition.
2019-09-20 10:30:01 -04:00
Marc Chevrier
4a08690ccf cmstd: Extend header <cm/iterator> 2019-09-20 10:01:56 -04:00
Marc Chevrier
c688b401d3 cmstd: Modernize CMake system headers
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones.  For example:

    #include <cm/string_view>

can be used safely for CMake development in place of the `<string_view>`
standard header.

Fixes: #19491
2019-09-20 10:01:37 -04:00
Alexej Harm
a3cfb66543 Add compatibility with the cl.exe /permissive- compiler option 2019-09-11 15:26:20 +02:00
Brad King
9141fbe0c1 Merge topic 'docker-rel-linux'
2c95c35c51 Utilities/Release: Add docker spec for STGZ package on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3753
2019-08-30 10:35:09 -04:00
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