summaryrefslogtreecommitdiffstats
path: root/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* Rename cmFileTimeComparison to cmFileTimeCacheSebastian Holtermann2019-03-181-1/+1
| | | | | The name `cmFileTimeCache` reflects the functionality of the class more appropriately.
* New cmFileTime classSebastian Holtermann2019-03-181-0/+1
| | | | | | 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.
* Merge topic 'refactor_cmfilecopier'Brad King2019-03-141-0/+2
|\ | | | | | | | | | | | | e2e8f6b132 cmFileCommand: Factor out cmFileCopier and cmFileInstaller Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2664
| * cmFileCommand: Factor out cmFileCopier and cmFileInstallerBryon Bean2019-03-131-0/+2
| | | | | | | | Split these classes out into their own sources.
* | CMake: Enable use of zstd in libarchiveBrad King2019-03-131-2/+4
|/ | | | | | | 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
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-1/+0
|
* cmMakefile: Impose maximum recursion limitKyle Edwards2019-01-231-0/+1
| | | | | | | | | 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
* libuv: Update CMake-internal buildsystemBrad King2019-01-171-3/+5
|
* Add support for using C++17 string_view or a fallbackBrad King2018-12-111-0/+1
| | | | | | | | | | 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.
* add_subdirectory: Run subdirectory install rules in correct orderKyle Edwards2018-10-101-0/+1
| | | | | | | | | 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.
* bootstrap: Add missing libraries for kFreeBSDGregor Jasny2018-09-161-0/+3
| | | | Closes #18375
* cmLinkItem: Convert to a "sum type" over a string and target pointerBrad King2018-09-071-0/+1
| | | | | | | | | 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.
* Utilities/Sphinx: Add option to build and install Info manualOrivej Desh2018-06-121-0/+8
| | | | | Add option `SPHINX_INFO` to enable the Sphinx 'texinfo' builder and use the `makeinfo` tool to convert it to a `.info` file.
* bootstrap: Use ccache in script-generated makefileShane Parris2018-05-251-4/+6
|
* Merge topic 'bootstrap_system_libuv_option'Brad King2018-04-171-2/+4
|\ | | | | | | | | | | | | bbf64794ac bootstrap: Add option to enable/disable usage of system libuv Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1971
| * bootstrap: Add option to enable/disable usage of system libuvKirill Erofeev2018-04-171-2/+4
| |
* | string() Refactoring: creates an helper for REGEX REPLACEMarc Chevrier2018-04-161-0/+1
| |
* | Add cmGlobVerificationManager class, integrate with cmake and cmStateShane Parris2018-03-291-0/+1
| |
* | bootstrap: Add support for VAR=value options to specify tools and flagsJames Lee2018-03-221-0/+8
| |
* | bootstrap: Clarify error when building with invalid CXXFLAGSBen Chaney2018-03-141-1/+3
|/ | | | Mention the flags used when complaining that the compiler does not work.
* Merge topic 'bootstrap-try-clang'Brad King2018-02-051-2/+2
|\ | | | | | | | | | | | | 04167e39 bootstrap: Add Clang to known compiler candidates Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1749
| * bootstrap: Add Clang to known compiler candidatesAxel Huebl2018-02-051-2/+2
| | | | | | | | | | | | 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.
* | Merge topic 'libuv-raii'Brad King2017-12-011-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | cmUVHandlePtr: Move to CMakeLib to make it available everywhereBrad King2017-11-301-0/+1
| | |
* | | Merge topic 'bootstrap-clang-5'Brad King2017-12-011-0/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 375eca78 bootstrap: Check support for unordered_map from compiler mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1542
| * | bootstrap: Check support for unordered_map from compiler modeAdam CiarciƄski2017-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | AIX: Add -pthread flag to enable std::thread with GCCBrad King2017-11-281-1/+12
| | |
* | | bootstrap: Add infrastructure to detect threading flagsBrad King2017-11-281-18/+24
| | | | | | | | | | | | | | | In our loop to detect -std flags, add another layer to detect threading flags.
* | | Move file/dir permissions code to common file.Domen Vrankar2017-11-081-0/+1
|/ /
* | Use C++11 '= delete' instead of CM_EQ_DELETEBrad King2017-09-281-1/+0
| | | | | | | | | | We now require C++11 support including `= delete`. Drop use of the old compatibility macro.
* | Merge topic 'libuv-bootstrap'Brad King2017-09-181-1/+113
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | bootstrap: Make libuv available during bootstrapBrad King2017-09-171-1/+109
| | | | | | | | | | | | | | | | | | | | | 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.
| * | bootstrap: Require compiler mode aware of C99 on SolarisBrad King2017-09-171-0/+4
| | | | | | | | | | | | | | | On Solaris some system headers included in C with `-D_XOPEN_SOURCE=600` require C99 support by the compiler.
* | | Drop now-unused definition of CM_OVERRIDEBrad King2017-09-151-1/+0
| | |
* | | Merge topic 'bootstrap-twice-in-source'Brad King2017-09-141-0/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | a3deae71 bootstrap: Fix running multiple times in-source Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1258
| * | bootstrap: Fix running multiple times in-sourceBrad King2017-09-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | bootstrap: Require compiler mode aware of C++11Brad King2017-08-291-2/+6
| | | | | | | | | | | | | | | | | | | | | 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.
* | | server: always enable serverDaniel Pfeifer2017-08-261-11/+0
| | |
* | | Use C++11 nullptrDaniel Pfeifer2017-08-241-1/+0
| | |
* | | Merge topic 'bootstrap-target-commands'Brad King2017-08-211-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef978c1d CursesDialog: use target_include_directories for cmForm 7814d750 bootstrap: make target_* commands available Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1158
| * | | bootstrap: make target_* commands availableDaniel Pfeifer2017-08-181-0/+6
| | | |
* | | | Merge topic 'bootstrap'Brad King2017-08-211-56/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | bootstrap: Require a standard C compilerDaniel Pfeifer2017-08-161-21/+12
| | | | |
| * | | | bootstrap: Remove check that identifies GNU compilerDaniel Pfeifer2017-08-151-25/+0
| | | | | | | | | | | | | | | | | | | | Bootstrapping no longer depends on this information.
| * | | | bootstrap: remove dead branchesDaniel Pfeifer2017-08-151-10/+0
| |/ / / | | | | | | | | | | | | Remove code that uses cmake_cxx_compiler_is_gnu before it is set.
* | | | Merge topic 'bootstrap-grep-solaris'Brad King2017-08-211-10/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e488c7f9 bootstrap: Restore output redirection instead of "grep -q" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1144
| * | | | bootstrap: Restore output redirection instead of "grep -q"Brad King2017-08-161-10/+10
| |/ / / | | | | | | | | | | | | | | | | This reverts commit 567bac890c (bootstrap: use "grep -q" instead of output redirection, 2017-06-07). On Solaris `grep -q` does not exist.
* | | | Require C++11 to build CMake itselfBrad King2017-08-161-32/+19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | HP-UX: Drop support for building CMake on HP-UXBrad King2017-08-071-54/+5
| |/ |/| | | | | | | | | | | | | 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
* | include_guard: implement new commandPavel Solodovnikov2017-06-221-0/+1
| |