summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* ReadListFile: Accept std::string argumentVitaly Stakhovsky2019-01-311-1/+2
|
* Merge topic 'unused-members'Brad King2019-01-311-14/+0
|\ | | | | | | | | | | | | ea9a376085 Remove unused 'class cmake' members Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2895
| * Remove unused 'class cmake' membersBrad King2019-01-311-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The `InTryCompile` member has been unused since commit 62854e9966 (cmState: Move try_compile state from cmake class., 2015-04-11, v3.3.0-rc1~196^2~9). * The `ConvertMessageType` and `IsMessageTypeVisible` members have been unused since commit 421012a330 (cmMessenger: Extract from cmake class, 2016-01-28, v3.7.0-rc1~222^2~1). * The `InitializeProperties` member has been unused since commit de722d7d63 (Move property initialization to cmState., 2015-04-06, v3.3.0-rc1~196^2~1). Co-Author: Vitaly Stakhovsky <vvs31415@gitlab.org>
* | Merge topic 'tidy-use-equals-delete'Brad King2019-01-301-2/+3
|\ \ | |/ |/| | | | | | | | | | | b05b778a2d clang-tidy: Use `= delete` Acked-by: Kitware Robot <kwrobot@kitware.com> Rejected-by: vvs31415 <vstakhovsky@fastmail.com> Merge-request: !2848
| * clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-2/+3
| |
* | Use `std::function` for callbacksRegina Pfeifer2019-01-291-3/+3
|/
* Merge topic 'add_consistent_verbose_build_flag'Brad King2019-01-291-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | 66801f4d40 cmake: Add tests for verbose output to --build mode 439fe2e253 cmake: Add options for verbose output to --build mode 638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments 3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option 1a45266cb5 cmGlobalGenerator: Add a class that represent the build command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2708
| * cmake: Add options for verbose output to --build modeFlorian Maushart2019-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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-files-directory'Brad King2019-01-251-6/+0
|\ \ | |/ |/| | | | | | | | | | | 3e867ed400 cmake: inlined files dir constant and removed it from cmake.h Acked-by: Kitware Robot <kwrobot@kitware.com> Rejected-by: vvs31415 <vstakhovsky@fastmail.com> Merge-request: !2655
| * cmake: inlined files dir constant and removed it from cmake.hBruno Manganelli2019-01-211-6/+0
| |
* | Merge topic 'help-mark-default-generator'Brad King2019-01-221-1/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Help: Mark default CMake generator with asteriskArtur Ryt2019-01-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Required extracting default generator evaluation to explicit function, as Visual Studio generators get validated during their construction. Fixes: #18544
| * | cmake: Return generator docs directlyArtur Ryt2019-01-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Add global generator factory method to get default platform nameBrad King2019-01-181-0/+1
| | |
* | | Add global generator factory method to get list of known platformsBrad King2019-01-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `cmGlobalGeneratorFactory::GetKnownPlatforms` method to return a list of known possible values for `CMAKE_GENERATOR_PLATFORM`. Implement the method for each generator by referencing the list of possible values documented in `Help/generator/*.rst` for it. Co-Author: Julien Jomier <julien.jomier@kitware.com>
* | | Split global generator factory list with and without platformsBrad King2019-01-181-1/+2
|/ / | | | | | | | | | | Replace `cmGlobalGeneratorFactory::GetGenerators` with a pair of methods to split the list of generator names into those that have platforms in the name and those that do not.
* | Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-2/+2
|/ | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-16/+4
| | | | Reduce the number of files relying on `cmake.h`.
* Merge topic 'cmake-option-parsing'Brad King2019-01-141-2/+1
|\ | | | | | | | | | | | | | | 27eb7c5bdb cmake: Ensure source and binary dirs are set a1adbc7243 cmake: Stop processing if -P option lacks file name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2799
| * cmake: Ensure source and binary dirs are setCraig Scott2019-01-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | If only the source dir is provided, the binary dir is assumed to be the working directory. If only the binary dir is provided and it doesn't yet have a CMakeCache.txt to provide the source dir, then the source dir is assumed to be the working directory. This logic was not previously being handled correctly when -S and/or -B options were involved. Furthermore, when both were missing, no suitable error message was provided and an empty string was used for the build directory. Fixes: #18707
* | fileapi: Add protocol v1 infrastructure with support for shared query filesBrad King2018-12-121-0/+3
|/ | | | | | | | | | | | | | | | | | | Add a file-based API that clients may use to get semantic information about the buildsystem that CMake generates. Clients will write query files under a designated location in the build tree, and CMake will write reply files for clients to read. Start with support for shared stateless query files. These allow clients to share requests for major object versions and get all those recognized by CMake. Once any client has written a shared request to a build tree it will persist. Other clients will not need to overwrite the request (since it is stateless) and should not remove it either. For now we add only an undocumented object kind to use for testing the query and reply infrastructure. Object kinds providing real semantic information will be added later. Issue: #18398
* cmake: Factor json version object construction into helperBrad King2018-09-211-0/+1
|
* cmake: -S and -B can be used to specify source and build directoriesRobert Maynard2018-09-151-1/+3
| | | | | | 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.
* cmake: Declare VariableWatch member only when usedBrad King2018-08-291-2/+6
|
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-5/+7
| | | | | | | | | | | | 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.
* Merge topic 'parallel_build_option'Brad King2018-05-291-1/+4
|\ | | | | | | | | | | | | | | 1ab3881ec9 cmake: Add options for parallel builds to --build mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Henry Schreiner <henryschreineriii@gmail.com> Merge-request: !1962
| * cmake: Add options for parallel builds to --build modeFlorian Maushart2018-05-251-1/+4
| | | | | | | | | | | | | | 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.
* | Help: Update description of the -D option to CMakeRaul Laasner2018-05-241-1/+1
|/ | | | Fixes #18021
* Merge topic 'glob_configure_depends'Brad King2018-04-061-0/+10
|\ | | | | | | | | | | | | | | | | | | | | 6c4f8b4596 Adjust help documentation for file(GLOB), add topic notes 20612978c8 Add tests for `file(GLOB)` CONFIGURE_DEPENDS flag 3f4b81f540 Add glob verify support to XCode, VS, Ninja, and Makefile generators ca0befc2e1 Add `CONFIGURE_DEPENDS` flag support to cmFileCommand::HandleGlobCommand 599c93e22d Add cmGlobVerificationManager class, integrate with cmake and cmState Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1767
| * Add cmGlobVerificationManager class, integrate with cmake and cmStateShane Parris2018-03-291-0/+10
| |
* | Features: Add infrastructure for C++ 20 language standardBrad King2018-03-271-0/+1
|/ | | | Issue: #17849
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-2/+2
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Performance: Improve efficiency of source file lookup in cmMakefileAaron Orenstein2017-11-171-0/+19
| | | | | | | | | This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance: Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with some corrections. The original was rolled back by commit v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to incompatibilities found. The rollback was followed-up by addition of a test for the offending case, and this revision passes the test.
* Add infrastructure for generators to select a build tool instanceBrad King2017-10-191-0/+7
| | | | | | | | | | | | | | Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location persistently across re-runs of CMake in a given build tree. For now we reject the option by default if explicitly set. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add a RunCMake.GeneratorInstance test to cover basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE` is empty by default, and that it is rejected when the generator does not support a user setting. Issue: #17268
* cmake: Add --open option for IDE generatorsGregor Jasny2017-10-131-0/+3
|
* try_compile: Simplify generator platform and toolset propagationBrad King2017-09-271-12/+0
| | | | | | | | We don't need to save the `CMAKE_GENERATOR_{PLATFORM,TOOLSET}` values from the cache back into the `cmake` instance. They were used only to propagate the settings into `cmake` instances for `try_compile`, but we already have their values in the `cmMakefile`'s variables anyway. In fact those variables are the ones we actually give to the generators.
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-2/+1
|
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+8
|
* Use CM_DISABLE_COPYDaniel Pfeifer2017-04-241-2/+2
|
* cmake: pass cmStateSnapshot by const refDaniel Pfeifer2017-04-211-1/+1
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
| | | | | | | | | | | | | 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'
* split Default commands into Scripting and ProjectDaniel Pfeifer2017-02-131-1/+2
|
* Features: Add infrastructure for C++ 17 language standardBrad King2016-12-021-0/+1
| | | | Issue: #16468
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-5/+7
|
* Features: Add meta-features requesting awareness of a particular standardBrad King2016-11-021-0/+6
| | | | | | | | | | A common use case of `target_compile_features` is simply to specify that the compiler should be run in a mode that is aware of e.g. C++11. Some projects simply specify a particular C++11-only feature to request this. Provide a first-class way to do this by naming features after the corresponding language standard. Record them as always available in the corresponding standard level so that requesting them always ensures that standard (or higher) is used.
* cmState: Split auxiliary classes into separate filesStephen Kelly2016-10-191-1/+1
| | | | | | | Port dependents to the new locations as needed. Leave behind a cmState.h include in cmListFileCache to reduce noise. It is removed in a following commit.
* cmState: Port dependent code to new cmStateSnapshot nameStephen Kelly2016-10-191-6/+3
|
* cmState: Move CacheEntryType enum to separate namespaceStephen Kelly2016-10-191-1/+1
| | | | Port dependent code to the change.
* cmake: Factor out default generator selection into helperBrad King2016-10-111-0/+2
|