| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
| |
| |
| |
| | |
This was missed in 9c0d1e7531edbebc7943d5b981353b17631ed632 when the for loop
that used this as loop variable was removed.
|
| |
| |
| |
| | |
Pass all files to sed at once, and don't even change the directory for this.
|
| | |
|
| | |
|
|/ |
|