Commit Graph

1481 Commits

Author SHA1 Message Date
Alexander Grund
9daf79c53b FindBoost: Add support for Boost 1.73
Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.73.0
sources to compute dependencies.

This includes a new Boost.Nowide library.

Special case: Boost.Filesystem is an optional dependency as the include
is only required to make Boost.Filesystem use UTF-8 paths on user
request
2020-04-20 08:27:32 -04:00
Alexander Grund
56b3375f3e BoostScanDeps: Fix typo in numpy handling
Fix a typo from commit e66e8e8914 (BoostScanDeps: Special case python
and numpy and variants, 2017-08-22, v3.10.0-rc1~229^2~1).
2020-04-20 08:27:31 -04:00
Brad King
3a66c7674c Utilities/Release: Update to openssl 1.1.1f 2020-04-03 06:50:56 -04:00
Brad King
6857aaaa06 Merge topic 'ibmi-fix-libuv-build' into release-3.17
7d6bd14dca libuv: Add support for building on IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4431
2020-03-09 08:58:38 -04:00
Jesse Gorzinski
7d6bd14dca libuv: Add support for building on IBM i (OS400) 2020-03-06 14:24:01 -05:00
Brad King
ad17c37d34 Merge topic 'libarchive-win-codepage' into release-3.17
16e31523ba libarchive: Add support for UTF-8 locale on Windows
f7c54d2049 libarchive: Fix WideCharToMultiByte output buffer size

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4332
2020-02-07 10:23:44 -05:00
Brad King
16e31523ba libarchive: Add support for UTF-8 locale on Windows
Backport libarchive upstream commit `c46e7993` (windows: Support UTF-8
locale, 2018-07-23, v3.4.0~105^2).

Fixes: #20320
2020-02-06 15:04:47 -05:00
Brad King
f7c54d2049 libarchive: Fix WideCharToMultiByte output buffer size
Fix `archive_string_append_from_wcs_in_codepage` to account for the
already-used portion of the buffer when computing the size of the
remaining buffer for ``WideCharToMultiByte` output.
2020-02-06 15:04:47 -05:00
Brad King
0b1ea8d6f1 Merge topic 'libarchive-solaris-11.4'
f70b49b498 libarchive: Fix detection of 'major' on Solaris 11.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4302
2020-01-31 09:11:01 -05:00
Brad King
89a3d33d11 Merge topic 'automoc-using-depfiles'
aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets
f765fdea03 AutoGen: Use moc's feature to output dependencies
f8c505d4b3 Add a parser for GCC-style depfiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jan Niklas Hasse <jhasse@bixense.com>
Merge-request: !4221
2020-01-30 09:52:33 -05:00
Brad King
f70b49b498 libarchive: Fix detection of 'major' on Solaris 11.4
In `archive_pack_dev.c` there is code checking the `HAVE_MAJOR` macro,
but it is not computed.  Port the equivalent logic from
`archive_entry.c`.
2020-01-30 09:26:35 -05:00
Marc Chevrier
fa828b8fba STL support: make_unique can now handle array 2020-01-28 17:38:17 +01:00
Joerg Bornemann
f8c505d4b3 Add a parser for GCC-style depfiles
Introduce the function cmReadGccDepfile that parses a GCC-style depfile
and returns its content. The implementation uses a lexer that is
modeled after the re2c implementation in Ninja.

The sample files of the autotest have been created with gcc 8.3.0.

This depfile reader is to be used by the Autogen facility to make use
of the depfiles that are generated by Qt's meta object compiler.
2020-01-28 11:16:11 -05:00
Marc Chevrier
73d1da4f86 Stl support: cm::append now supports any sequential container 2020-01-24 15:55:32 +01:00
Brad King
15c573df41 Merge topic 'mark_as_advanced-without-cache'
3ec82b713e cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache
701a5c60e0 cmake: avoid marking local or unused variables as advanced
af158149e7 FindOpenSSL: do not mark a local variable as advanced
74f659f1f2 FindCurses: only mark CURSES_EXTRA_LIBRARY when it is used
7e2ae4e96d FindOpenGL: only mark declared cache variables as advanced
7cc02a0c29 FindLua: only mark LUA_MATH_LIBRARY as advanced if required
85cd26b8a6 FindBoost: only mark Boost_DIR as advanced if defined
338c7916ba CTest: avoid marking undeclared cache variables as advanced
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4150
2020-01-22 09:50:49 -05:00
Ben Boeckel
701a5c60e0 cmake: avoid marking local or unused variables as advanced 2020-01-20 15:49:29 -05:00
Marc Chevrier
b9a3f2e7e2 STL Support: enhance behavior of cm::dynamic_reference_cast
Ensure cm::dynamic_reference_cast has same behavior as dynamic_cast
on reference: raise std::bad_cast if dynamic_cast is not possible.
2020-01-17 11:09:53 +01:00
Marc Chevrier
04c2f67492 STL Support: extends type_traits for future developments 2020-01-17 11:09:48 +01:00
Brad King
f1af6d5baf Merge topic 'doc-user-interaction'
bd681fee7a Help: Add guides for user interaction
6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing
b1b7d01172 Utilities/Sphinx: Index document types only by top level directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mateusz Łoskot <mateusz@loskot.net>
Acked-by: Daan De Meyer <daan.j.demeyer@gmail.com>
Merge-request: !4097
2020-01-14 08:58:38 -05:00
Brad King
6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing
Extend the change from commit d2fde94809 (Help: Add infrastructure for
guide-level documentation, 2019-05-30, v3.16.0-rc1~531^2~4) to add
support for cross-referencing and indexing the guides.
2020-01-13 11:08:11 +00:00
Brad King
b1b7d01172 Utilities/Sphinx: Index document types only by top level directory
We use the convention `Help/<type>/<doc>` for indexing each document as
an object of type `<type>`.  Split the document name on the first slash
rather than the last slash so that multi-level documents like
`Help/guide/tutorial/index.rst` are indexed as their top-level type.
2020-01-13 11:08:11 +00:00
Marc Chevrier
348b60d19d STL support: add c++20 std::erase and std::erase_if functions 2020-01-08 17:35:16 +01:00
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
c4708c5928 Merge topic 'update-expat' into release-3.16
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:21 -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