summaryrefslogtreecommitdiffstats
path: root/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* Bootstrap: take care of C++ features configurationMarc Chevrier2020-02-011-0/+24
|
* bootstrap: Build with Release config by default to get optimizationsBrad King2020-01-091-0/+1
| | | | Fixes: #20197
* bootstrap: Extend C++17 check for our cast functionsBrad King2019-12-141-1/+11
| | | | | | | In commit fc3b4caa2e (Memory management: cast functions for managed pointers, 2019-11-18) we added a check to `Source/Checks/cm_cxx17_check.cpp` to avoid using C++17 mode on a compiler that does not support all our C++17 usage. Add the check to our bootstrap script too.
* Merge branch 'backport-3.16-toc_on_ppc' into toc_on_ppcBrad King2019-12-091-0/+1
|\
| * bootstrap: Add target_link_options commandAlexander Grund2019-12-091-0/+1
| |
* | cmLocalGenerator: Refactor to use cmMakeSingleCommandLineDaniel Eiband2019-11-241-0/+1
| |
* | Merge topic 'bootstrap-break'Brad King2019-10-301-2/+2
|\ \ | |/ | | | | | | | | | | 1dbf485934 bootstrap: Avoid redundant compiler selection checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3959
| * bootstrap: Avoid redundant compiler selection checksBrad King2019-10-291-2/+2
| | | | | | | | | | | | | | | | | | | | In commit 6e613ff399 (bootstrap: Add infrastructure to detect threading flags, 2017-11-28, v3.11.0-rc1~281^2~1) an extra level of nesting was added to the selection loop, but the inner-most `break` command used to exit the loop on success was not updated. This caused the outer-most loop to iterate unnecessarily and repeatedly try the same compilers again. In the case of compilers requiring a `-std=` flag, this may have caused the oldest standard to be used instead of the newest.
* | Graphviz: added test suite, fixes, enhancementsCorentin Plouet2019-10-081-0/+1
|/ | | | | | | | | | | | | | | | | | | | * Added a fairly comprehensive test suite * Separated the graph traversal logic from the Graphviz generation code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx} * Made the graph traversal logic less ad-hoc by using existing methods in the GlobalGenerator; this fixed a few bugs * Added support for new target types: custom targets, object and unknown libraries * Improved support for ALIAS libraries by showing the alias(es) in the graph * Introduced new flags to control those new libraries (consistent with existing flags) * Updated the documentation * Removed useless setting to set graph type in dot file * Improved the node/edge shapes (nicer, more consistent) * Added a legend to the graph * Some refactoring and cleanup of the Graphviz generation code * Added test and fix for issue 19746
* Merge topic 'add-custom-target-byproduct-checks'Brad King2019-09-261-0/+1
|\ | | | | | | | | | | | | | | | | fd3a394614 add_custom_command: Format files in error message in a single line a1cc6b4447 add_custom_target: Add output checks for custom target byproducts cbb861ade8 add_custom_command: Add tests for custom command output checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3850
| * add_custom_target: Add output checks for custom target byproductsDaniel Eiband2019-09-231-0/+1
| | | | | | | | | | Use the output checks for byproducts of add_custom_command also for byproducts of add_custom_target.
* | Merge topic 'HP-UX_Port_GCC'Brad King2019-09-231-0/+11
|\ \ | |/ |/| | | | | | | | | | | | | 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
| * bootstrap: Require GCC 4.9 or higher on HP-UXBrad King2019-09-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | Revise for future removal of the early rejection checks on HP-UX. Our code may now work with GCC 4.9 on HP-UX when manually using `env CXXFLAGS=-D_GLIBCXX_USE_C99` to make the C++11 `std::to_string` available on this platform. However, without nightly testing we cannot officially enable support for the platform. Issue: #17137 Co-Author: Earle Lowe <elowe@elowe.com>
| * libuv: Add partial port to HP-UXEarle Lowe2019-09-201-0/+3
| | | | | | | | | | Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for CMake.
* | Merge topic 'cmake-system-headers'Brad King2019-09-201-3/+25
|\ \ | |/ |/| | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | cmExportSet: subsume cmExportSetMap source filesTushar Maheshwari2019-09-191-1/+0
|/
* Merge topic 'precompile-headers'Brad King2019-08-291-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * PCH: add target_precompile_headers commandDaniel Pfeifer2019-08-271-0/+1
| |
* | Merge topic 'cmCommand_refactor_disallowed'Brad King2019-08-281-1/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | 54872b73b9 cmCommand refactor: remove cmDisallowedCommand class 11f35d340e cmCommand refactor: remove unused AddDisallowedCommand overload ae51aa32f0 cmCommand refactor: cmVariableRequiresCommand 185fa2c4f3 cmCommand refactor: cmUtilitySourceCommand c8deeac68f cmCommand refactor: cmSubdirDependsCommand c2c222eba1 cmCommand refactor: cmOutputRequiredFilesCommand 7533e47ccc cmCommand refactor: cmLoadCommandCommand 9d6fc3f5ed cmCommand refactor: cmExportLibraryDependenciesCommand ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3736
| * cmCommand refactor: remove cmDisallowedCommand classGabor Bencze2019-08-261-1/+0
| |
* | Merge topic 'optional'Brad King2019-08-261-1/+15
|\ \ | |/ |/| | | | | | | | | | | | | 197c5e12ad Source: Add cm::optional 170fcd715f Extend C++17 feature checks to require std::optional Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3644
| * Extend C++17 feature checks to require std::optionalBrad King2019-08-231-1/+15
| |
* | bootstrap: Compile cm::StringBrad King2019-08-201-0/+1
| |
* | cmConfigure.h: Tell windows.h not to define min/max macrosBrad King2019-08-201-0/+6
|/
* Refactor: Finish replacing CMAKE_BUILD_WITH_CMAKE with CMAKE_BOOTSTRAPKyle Edwards2019-08-091-2/+2
| | | | | | | | Remove -DCMAKE_BUILD_WITH_CMAKE from Source/CMakeLists.txt. Remove CMAKE_BOOTSTRAP from bootstrap's cmConfigure.h. Add -DCMAKE_BOOTSTRAP to all bootstrap sources, and remove the Unix specialization of CMAKE_BOOTSTRAP in libuv (a review of the libuv code suggests that this will not have an effect on the Windows build.)
* Introduce cmSubcommandTableRegina Pfeifer2019-08-061-0/+1
|
* Merge topic 'control-block3'Brad King2019-08-051-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 41364824ad cmFunctionBlocker: Recycle functions 6491270e0d cmFunctionBlocker: Move check for matching args af24e4ef6e cmFunctionBlocker: Move common logic to base ef38ff22f7 cm*FunctionBlocker: Extract function Replay b51fba6298 cmMakefile: Add OnExecuteCommand callback c76500949d cm*FunctionBlocker: Move to source file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3632
| * cmFunctionBlocker: Move common logic to baseRegina Pfeifer2019-07-301-0/+1
| |
* | cmStringAlgorithms: Add cmCatViews and cmStrCat functionsSebastian Holtermann2019-08-011-0/+1
|/
* Merge topic 'command-refactoring3'Brad King2019-07-231-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | dfaa87f1b3 cmState: Support BuiltinCommands as free functions 28f2d12a05 cmCommand: De-virtualize function InvokeInitialPass de77d355ac cmState: Add scripted commands by value 0101ace131 cmUnexpectedCommand: Replace with lambda expression 015001aaf1 cmState: Hold commands by value 1eebc29563 cmCommand: deprecate functions GetMakefile and SetError Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3574
| * cmUnexpectedCommand: Replace with lambda expressionRegina Pfeifer2019-07-211-1/+0
| |
* | bootstrap: Verify C++14 capabilities before using themBrad King2019-07-181-1/+20
|/ | | | | | | | In commit a605bf438e (Extend C++17/C++14 feature checks to cover more standard library APIs, 2019-02-27, cpp-modules-20190312.1~52^2~1) we added checks to the main build of CMake to verify C++14 capabilities before using C++14 flags to build. Add these to the bootstrap check too.
* Merge topic 'cmPropertyMap_unordered_map'Brad King2019-06-121-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | 00d265e3c8 cmPropertyMap: Use std::unordered_map as container instead of std::map 1b945f95ba cmPropertyMap: Add RemoveProperty method e0a8ff3148 cmPropertyMap: Use std::string as value container class 8d934d861b cmPropertyMap: Make std::map container private 026f65d284 cmPropertyMap: Add GetList method 9e64e617eb cmPropertyMap: Rename GetPropertyList method to GetKeys Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3435
| * cmPropertyMap: Use std::string as value container classSebastian Holtermann2019-06-081-1/+0
| |
* | file: Add GET_RUNTIME_DEPENDENCIES modeKyle Edwards2019-06-101-2/+18
|/ | | | Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
* Merge topic 'cmFileTimes'Brad King2019-05-231-0/+1
|\ | | | | | | | | | | | | | | | | 5b53cfda24 cmSystemTools: Remove cmSystemToolsFileTime interface 9c576a88d9 Use cmFileTimes instead of cmSystemToolsFileTime interface 4b45a5d5c7 cmFileTimes: New RAII based cmFileTimes class Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3358
| * cmFileTimes: New RAII based cmFileTimes classSebastian Holtermann2019-05-221-0/+1
| | | | | | | | | | This adds a new RAII based cmFileTimes class. It is supposed to replace the C style cmSystemToolsFileTime interface.
* | CUDA: More exhaustive checks to determine when to do device linkingRobert Maynard2019-05-211-0/+1
|/ | | | | | | | | Previously CMake used fairly naive logic to determine when to do device linking which caused unnecessary device linking to occur frequently. We now use a more exhaustive algorithm to determine when we have a need for device linking. Fixes: #19238
* cmUVProcessChain: Add cmUVProcessChainKyle Edwards2019-05-071-0/+2
| | | | | | | | | This class is ultimately intended as a replacement for cmsys::Process. It spawns a series of processes using libuv, piping the output of each command into the next. Note: input support has not yet been implemented because write support has not yet been implemented on cmUVStreambuf.
* bootstrap: Update for new KWSys configuration optionBrad King2019-04-171-0/+2
|
* Retire cmCommandArgumentsHelperRegina Pfeifer2019-04-041-1/+0
|
* Introduce cmArgumentParserRegina Pfeifer2019-04-041-0/+1
|
* 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