summaryrefslogtreecommitdiffstats
path: root/Source/cmakemain.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmake--install'Kyle Edwards2019-03-191-0/+125
|\ | | | | | | | | | | | | | | | | | | | | 73f23d1e00 cmake: add '--install <dir>' option Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Acked-by: Bartosz <gang65@poczta.onet.pl> Acked-by: Cristian Adam <cristian.adam@gmail.com> Rejected-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !3069
| * cmake: add '--install <dir>' optionJiang Yi2019-03-161-0/+125
| | | | | | | | Fixes: #19023
* | cmake: add short version of '--target <tgt>...' optionBartosz Kosiorek2019-03-121-3/+5
| |
* | cmake: Reformat '--parallel' and '--verbose' options in helpBartosz Kosiorek2019-03-121-5/+5
|/
* cmake: Teach --build mode to support multiple targetsBartosz Kosiorek2019-03-051-16/+28
| | | | Fixes: #16136
* cmakemain: Remove ignored --use-stderr option from command line helpBartosz Kosiorek2019-03-041-1/+0
|
* Merge branch 'master' into cmake_role-vs-fixKyle Edwards2019-02-261-17/+21
|\
| * cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-6/+7
| |
| * cmSystemTools: MessageCallback and Message() accept std::string argumentVitaly Stakhovsky2019-02-071-11/+14
| |
* | CMAKE_ROLE: Fix value in --build for Visual Studio generatorsKyle Edwards2019-02-261-1/+1
|/ | | | Fixes: #18990
* MessageCallback: Remove unused bool& argumentRegina Pfeifer2019-01-291-13/+10
|
* Use `std::function` for callbacksRegina Pfeifer2019-01-291-17/+29
|
* cmake: Add options for verbose output to --build modeFlorian Maushart2019-01-281-1/+8
| | | | | | | | | | | | While we already support `VERBOSE` environment variable and `CMAKE_VERBOSE_MAKEFILE` cached variable, add `-v` and `--verbose` command line options to be able to activate verbose output directly from CMake's build tool mode command line. Also make `msbuild` honor the verbosity setting. `xcodebuild` still doesn't honor the verbosity setting as it will need a policy added and reworking of cmGlobalGenerator and cmsys to support multiple command invocation.
* Merge topic 'cmake_build_jobs_supports_no_space'Brad King2019-01-231-19/+36
|\ | | | | | | | | | | | | | | f2fca92686 cmake: --build supports '-jN' e463133cd2 Tests: Remove unused files from RunCMake.CommandLine test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2819
| * cmake: --build supports '-jN'Robert Maynard2019-01-221-19/+36
| |
* | Merge topic 'help-mark-default-generator'Brad King2019-01-221-4/+2
|\ \ | |/ |/| | | | | | | | | | | | | dfd5ae7da7 Help: Mark default CMake generator with asterisk 6023fe7ff2 ccmake: Append rather than replace Generators section of docs 7408cd3929 cmake: Return generator docs directly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2682
| * cmake: Return generator docs directlyArtur Ryt2019-01-181-4/+2
| | | | | | | | | | | | | | | | | | The GetGeneratorDocumentation() function was not accurately named and required the vector to populate to be passed as a function argument. This commit makes the slightly renamed function return by value, making it a true getter as implied by its name. Some minor refactoring of the implementation also makes the steps of populating the vector clearer.
* | clang-tidy: Use emplaceRegina Pfeifer2019-01-171-6/+6
|/
* Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-5/+17
| | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* cmake: Stop processing if -P option lacks file nameCraig Scott2019-01-131-5/+5
| | | | | | | While an error message was being logged, processing was continuing nonetheless except with the -P argument omitted. This could have allowed unintended effects if the remaining arguments formed a valid set of command line options.
* cmake: -S and -B can be used to specify source and build directoriesRobert Maynard2018-09-151-1/+2
| | | | | | Document the previously internal option of '-B' and provide a matching source directory option with '-S'. Both '-B', and '-S' can be used independently of each other.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-30/+37
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-251-1/+49
| | | | | | | While we already support `cmake --build . -- -j`, the options after `--` are specific to the native build tool. Add new options `--parallel [<N>]` and `-j [<N>]` to abstract this and map to the proper option for the native build tool.
* Extend libuv file translate mode workaround to all executablesBrad King2018-01-231-16/+1
| | | | | | | | | | | | | | | Since libuv commit v1.14.1~7 (win: add uv__once_init() calls, 2017-08-30) the libuv initialization of the file translate mode may take place even if we do not use a uv loop. This change was included in our libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of libuv even through `cmSystemTools::GetRealPath` in any executable may trigger its file translate mode setting. Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2 (cmake: Fix default file translate mode when using libuv, 2017-06-13) and re-use to initialize all executables. Issue: #16962
* cmake: Add --open option for IDE generatorsGregor Jasny2017-10-131-0/+43
|
* Merge topic 'string-clear'Brad King2017-09-191-2/+2
|\ | | | | | | | | | | | | 5db3aac1 Meta: replace empty-string assignments with `clear()`. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1276
| * Meta: replace empty-string assignments with `clear()`.Pavel Solodovnikov2017-09-151-2/+2
| |
* | bootstrap: Make libuv available during bootstrapBrad King2017-09-171-3/+4
|/ | | | | | | 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.
* Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-8/+6
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* use static_cast<> for casts from void*Rolf Eike Beer2017-09-011-1/+1
|
* Merge topic 'fix-find-package-mode'Brad King2017-08-301-1/+1
|\ | | | | | | | | | | | | 18454ea4 cmake: Fix --find-package mode with imported targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1208
| * cmake: Fix --find-package mode with imported targetsBrad King2017-08-291-1/+1
| | | | | | | | | | | | | | | | The change in commit v3.9.0-rc1~116^2~6 (cmakemain: use script role for -P, 2017-05-11) accidentally left project commands out of find-package mode, causing packages that provide imported targets to break. Fixes: #17124
* | Merge topic 'cstyle-casts'Daniel Pfeifer2017-08-301-5/+5
|\ \ | | | | | | | | | | | | | | | | | | 190e3825 Replace C-style casts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1176
| * | Replace C-style castsDaniel Pfeifer2017-08-271-5/+5
| | |
* | | IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-2/+1
|/ / | | | | | | Also remove `#include "cmConfigure.h"` from most source files.
* | Use C++11 nullptrDaniel Pfeifer2017-08-241-13/+12
| |
* | Make libuv available to all parts of CMakeBrad King2017-08-081-11/+6
|/ | | | | | | The libuv library provides many useful platform abstractions and better process management than KWSys. We'd like to use it everywhere instead of just in the server mode. Drop the `CMAKE_USE_LIBUV` option and use libuv everywhere except during bootstrap.
* cmake: Fix default file translate mode when using libuvBrad King2017-06-141-0/+16
| | | | | | | | | | | | | On Windows, libuv's one-time initialization changes the C runtime library's `_fmode` setting to `_O_BINARY`, thus causing files to open as binary after that instead of the default `_O_TEXT` mode. See upstream libuv issue 840. Work around the problem by performing libuv initialization early and then restoring `_fmode`. In particular, this currently affects server mode. Without this fix, the `_fmode` setting changes when the server mode initializes libuv. Fixes: #16962
* cmakemain: use script role for -PDaniel Pfeifer2017-05-111-1/+3
|
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-4/+4
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-4/+4
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* fix include order of windows.hDaniel Pfeifer2017-03-141-7/+6
| | | | | | Comments that indicate a special include order is necessary because GetCurrentDirectory might get redefined are outdated. Remove those outdated comments and use the normal ordering of includes.
* Windows: Use UTF-8 for pipes in CMake, CTest and CPackDāvis Mosāns2016-11-291-0/+2
| | | | | Applications which process CMake output will need to decode it as UTF-8 instead of console's codepage.
* VS: Teach `cmake --build` to reconfigure if needed before buildingYves Frederix2016-11-171-0/+2
| | | | | | | Visual Studio's build system does not cleanly handle itself being re-generated during the build. Teach `cmake --build` to check whether the build system needs to be re-generated before launching the native build tool.
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-0/+1
|
* Enable Unicode output to Windows consolesDāvis Mosāns2016-10-261-0/+8
| | | | | | Use KWSys ConsoleBuf to replace the `streambuf` on `std::cout` and `std::cerr` so that process output can be encoded correctly for display in a Windows console.
* cmState: Move CacheEntryType enum to separate namespaceStephen Kelly2016-10-191-3/+3
| | | | Port dependent code to the change.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-4/+9
|
* cmake: Add trivial usage of libuvBrad King2016-08-311-0/+7
| | | | | This will serve to make sure cmake actually compiles and links against libuv.