| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The name `cmFileTimeCache` reflects the functionality of the class more
appropriately.
|
|
|
|
|
|
| |
The new cmFileTime class stores the file modification time as an OS independent
nanosecond count. Its main use is to load and compare file modification times
in nanosecond and second resolution.
|
|\
| |
| |
| |
| |
| |
| | |
e2e8f6b132 cmFileCommand: Factor out cmFileCopier and cmFileInstaller
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2664
|
| |
| |
| |
| | |
Split these classes out into their own sources.
|
|/
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
In order to keep infinitely-recursive scripts from causing a stack
overflow in the CMake executable, CMake now imposes a maximum
recursion limit before issuing an error message. The limit can be
adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.
Fixes: #18694
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Define a `cm::string_view` type implemented via C++17 `std::string_view`
when available. Provide a fallback implementation for C++11 and C++14
compilers.
The fallback implementation was written by reading documentation of the
standard spec. We have no dedicated tests for it, but it will be
covered by tests of its clients later.
|
|
|
|
|
|
|
|
|
| |
Before this change, install rules created by add_subdirectory()
would be executed after all of the top-level install rules, even
if they were declared before the top-level rules. This change
adds a new policy, CMP0082, which interleaves the add_subdirectory()
install rules with the other install rules so they are run in the
correct order.
|
|
|
|
| |
Closes #18375
|
|
|
|
|
|
|
|
|
| |
Avoid exposing the item name implicitly as std::string. When the item
is a target, avoid storing a second copy of its name.
Most link item construction is paired with calls to `FindTargetToLink`
to get the possible target pointer. Rename these methods to
`ResolveLinkItem` and refactor them to construct the entire item.
|
|
|
|
|
| |
Add option `SPHINX_INFO` to enable the Sphinx 'texinfo' builder and use
the `makeinfo` tool to convert it to a `.info` file.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
bbf64794ac bootstrap: Add option to enable/disable usage of system libuv
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1971
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Mention the flags used when complaining that the compiler does not work.
|
|\
| |
| |
| |
| |
| |
| | |
04167e39 bootstrap: Add Clang to known compiler candidates
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1749
|
| |
| |
| |
| |
| |
| | |
Add `clang` and `clang++` after the corresponding `gcc` and `g++`
candidates. Otherwise it is not tried on platforms where we do not
enumerate the toolchain pair candidates.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3bcaa870 cmUVHandlePtr: Add uv_process_ptr
dd700e9b cmUVHandlePtr: Add uv_timer_ptr
32cfa7b3 cmUVHandlePtr: Move to CMakeLib to make it available everywhere
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1541
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
375eca78 bootstrap: Check support for unordered_map from compiler mode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1542
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some versions of clang 5 (with libc++) have a problem with
`unordered_map` under `-std=gnu++1z`:
/usr/include/c++/__hash_table:1134:43: error: conflicting types for '__hash_table<_Tp, _Hash, _Equal, _Alloc>'
Include `unordered_map` in our test source so that we reject this
combination and fall back to an older C++ standard flag.
Fixes: #17526
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
In our loop to detect -std flags, add another layer to detect
threading flags.
|
|/ / |
|
| |
| |
| |
| |
| | |
We now require C++11 support including `= delete`. Drop use of
the old compatibility macro.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
714ce728 bootstrap: Make libuv available during bootstrap
6a2d967d bootstrap: Require compiler mode aware of C99 on Solaris
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1131
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On UNIX, build only the parts of libuv we need for the filesystem,
process, and poll abstractions using the POSIX poll() backend. This
avoids many platform-specific conditions. On Windows, build all of
libuv; there are no conditional alternatives anyway.
|
| | |
| | |
| | |
| | |
| | | |
On Solaris some system headers included in C with `-D_XOPEN_SOURCE=600`
require C99 support by the compiler.
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
a3deae71 bootstrap: Fix running multiple times in-source
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1258
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit v3.9.0-rc1~281^2 (Use quotes for non-system includes,
2017-04-11) we include `cmConfigure.h` via `""` instead of `<>`.
This breaks the `bootstrap` script when run more than once in an
in-source build. In that case `cmConfigure.h` is generated next
to the source files that include it, so `""`-style includes prevent the
`Bootstrap.cmk/cmConfigure.h` file from being included during bootstrap.
Fix this by teaching the bootstrap script to remove any `cmConfigure.h`
that may have been generated by an earlier run in an in-source build.
Fixes: #17082
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some compilers have enough features enabled in their default modes to
pass our simple C++11 unique_ptr check but do not enable enough to build
CMake. Poison this case so that we choose one of the explicit `-std=`
options for such compilers.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ef978c1d CursesDialog: use target_include_directories for cmForm
7814d750 bootstrap: make target_* commands available
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1158
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
d12837af bootstrap: Require a standard C compiler
dc0befb6 bootstrap: Remove check that identifies GNU compiler
6fdcf02a bootstrap: remove dead branches
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1142
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Bootstrapping no longer depends on this information.
|
| |/ / /
| | | |
| | | |
| | | | |
Remove code that uses cmake_cxx_compiler_is_gnu before it is set.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
e488c7f9 bootstrap: Restore output redirection instead of "grep -q"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1144
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
This reverts commit 567bac890c (bootstrap: use "grep -q" instead of
output redirection, 2017-06-07). On Solaris `grep -q` does not exist.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CMake can now compile as C++11 on all supported platforms. Check that
std::unique_ptr is available and fail early if missing. This will allow
us to use C++11 more broadly in CMake's implementation (previously it
was restricted to the serve mode implementation).
Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
CMake will soon require both C++11 and libuv to build. Neither of
these works on HP-UX, so unfortunately we need to drop support for
the platform until someone can get them working.
Issue: #17137
|
| | |
|