summaryrefslogtreecommitdiff
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* ccmake: Don't list --preset in --helpKyle Edwards2020-10-271-2/+0
| | | | | | And show available options in cmake-gui. Fixes: #21313
* CMake: Add presets functionalityKyle Edwards2020-10-051-6/+48
|
* Refactor: Add allowArch parameter to cmake::CreateGlobalGenerator()Kyle Edwards2020-10-051-1/+1
|
* cmake::GetCacheDefinition: Return cmPropvvs314152020-09-281-1/+1
|
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-031-4/+1
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* Add ISPC compiler support to CMakeRobert Maynard2020-08-281-1/+3
|
* cmake: Remove broken '--warn-unused-vars' optionBrad King2020-06-291-3/+0
| | | | | | | | | | | | | This option has been broken since commit b9f9915516 (cmMakefile: Remove VarUsageStack., 2015-05-17, v3.3.0-rc1~52^2). That commit removed the check that an initialized variable has actually been used and caused the option to warn on every variable ever set. This was not caught by the test suite because the test for the feature only checked that warnings appear when needed and not that they do not appear when not needed. The option was never very practical to use. Remove it to avoid the runtime cost of usage tracking and checks for every variable (which we were doing even when the option was not used).
* Refactor file extension queries to be more consistentRobert Maynard2020-06-221-25/+14
| | | | | It was very easy to forgot to check against all language file extensions. This updates the internal API to have a unified API.
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-1/+1
| | | | Fixes: #20666
* Merge topic 'cmprop-getglobalprop'Brad King2020-03-271-1/+1
|\ | | | | | | | | | | | | c84cf42897 cmState::GetGlobalProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4521
| * cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-251-1/+1
| |
* | use cm::string_view for language extension lookupsRolf Eike Beer2020-03-231-6/+8
|/ | | | | | | Once the list of extensions is build the set is just a copy of the vector and not modified anymore. Use a string_view for the members of the set, which saves a small amount of memory. It also makes possible to use string_views as lookup keys, so the callers do not need to create copies for the extensions anymore.
* cmake: add command line options to output script profiling dataWouter Klouwen2020-03-071-0/+12
| | | | | | | | | | | | | | | For users of CMake who want to optimize their scripts if they take a while to run, this commit adds the ability to output profiling data. To enable this output, it adds the two command line parameters to select the output path and format. This commit adds the first profiling format of type ``google-trace``, which is the output is a JSON file containing Duration events as per the Google Trace Format specification: https://docs.google.com/document/d/1CvAClvFfyA5R- PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#
* Merge topic 'ninja-1.10'Brad King2020-01-281-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | ccaa0bccc4 Ninja: Do not clean metadata when re-generating inside a running build 657820a00b Ninja: Track when running to re-generate during a build b12b013028 Ninja: Factor metadata cleanup into dedicated method 5d92e60d81 Ninja: Skip cleandead and recompact if build.ninja is missing dd0a4718fd Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10 0944caaebb Tests: Fix RunCMake.CMP0037 test with Ninja 1.10 9d4883cce5 Tests: Fix RunCMake.Ninja test for Ninja 1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4290
| * Ninja: Track when running to re-generate during a buildBrad King2020-01-271-0/+3
| | | | | | | | | | Tell CMake explicitly when it is re-running inside a `ninja` invocation to re-generate the build system.
* | AppendProperty: convert value param to std::stringVitaly Stakhovsky2020-01-251-1/+1
|/
* GlobalGenerator family: modernize memory managementMarc Chevrier2020-01-071-6/+12
|
* Merge topic 'traceJSON'Kyle Edwards2019-12-271-2/+15
|\ | | | | | | | | | | | | | | e113ab1168 trace: Add test for the JSON-v1 trace 482497e0de trace: Add JSON output format Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4102
| * trace: Add JSON output formatDaniel Mensinger2019-12-231-2/+15
| | | | | | | | | | | | | | | | Add a new `--trace-format=` flag, to enable the new JSON trace output format. This new format is easier to parse by machines than the existing format. This new format also removes the ambiguity of the whitespace in the "old" format (e.g. is that whitespace part of a file path, or does it seperate arguments)
* | find_*: Add debug logging infrastructureRobert Maynard2019-12-191-3/+8
|/ | | | | | | | | | | | Enable debug messages a new `--find-debug` command-line option or via the `CMAKE_FIND_DEBUG_MODE` variable. This work was started by Chris Wilson, continued by Ray Donnelly, and then refactored by Robert Maynard to collect information into a single message per find query. Co-Author: Ray Donnelly <mingw.android@gmail.com> Co-Author: Chris Wilson <chris+github@qwirx.com>
* CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-101-0/+7
|
* message: New message types to mark checks performed by CMakeAlex Turbov2019-11-021-0/+24
| | | | | | Closes #19638. Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* message: Support logging a context with each messageAlex Turbov2019-10-121-0/+5
|
* message: Add new CMAKE_MESSAGE_LOG_LEVEL variableAlex Turbov2019-10-121-0/+3
|
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-1/+1
| | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-3/+3
|
* Merge topic 'trace-redirect'Brad King2019-08-201-0/+5
|\ | | | | | | | | | | | | 3c94069660 Add --trace-redirect parameter to redirect trace output to a file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3645
| * Add --trace-redirect parameter to redirect trace output to a fileIgor Ivanov2019-08-101-0/+5
| |
* | Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-4/+4
|/
* cmake: Initialize booleans at declaration and cleanup constructorSebastian Holtermann2019-08-031-14/+14
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* cmake: Refactor file extension list setupSebastian Holtermann2019-07-041-10/+39
| | | | | Refactor the file extention list setup in cmake.h/cxx and add file extensions lists for Cuda and Fortran.
* modermize: replace some raw pointers w/ `unique_ptr`Alex Turbov2019-06-241-18/+18
|
* cmake: Simplify implementation of -E capabilitiesBrad King2019-06-071-2/+2
| | | | | | The `cmake -E capabilities` command-line tool is implemented only in a full-featured (non-bootstrap) CMake, and server mode is now always available in this case.
* Merge topic 'default-generator-env'Brad King2019-05-221-0/+10
|\ | | | | | | | | | | | | | | | | d0f0ba0f7a Tests: Add environment generator tests a48ce8f4bf Help: Add documentation for default generator environment variables 083cf7e8a2 cmake: Allow default generator to be set by environment variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3218
| * cmake: Allow default generator to be set by environment variablesEicke Herbertz2019-05-161-0/+10
| | | | | | | | | | | | | | | | | | | | When there is no Generator available in the Cache, this will read CMAKE_GENERATOR from environment before using the CMake platform default. If CMAKE_GENERATOR is empty, use the platform default. If a environment default generator is specified, subsequent variables CMAKE_GENERATOR_(INSTANCE,PLATFORM,TOOLSET) are also evaluated in the same way.
* | Source: change parameters to std::stringVitaly Stakhovsky2019-05-191-2/+2
| |
* | message(): Add support for log levelsAlex Turbov2019-04-281-0/+20
|/ | | | | Relates: #18943 Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* Fix invalid ///! doxygen comment line startsSebastian Holtermann2019-03-311-24/+24
| | | | | In various places `///!` was used to start a comment line. This is not valid Doygen syntax. This patch replaces `///!` comment starts with `//!`.
* Merge topic 'dont_do_compiler_feature_checks_for_version_with_no_features'Brad King2019-03-211-22/+37
|\ | | | | | | | | | | | | | | 85415afbdc CompileFeatures: Don't try_compile for language levels with no features 616282a5ce CMake: Provide language level compile features lists Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3128
| * CMake: Provide language level compile features listsRobert Maynard2019-03-201-22/+37
| | | | | | | | | | Now CMake stores what compile features are associated with each language level and exposes them as global properties.
* | Substitute FileComparison in variable names with FileTimeCacheSebastian Holtermann2019-03-181-2/+2
| |
* | Rename cmFileTimeComparison to cmFileTimeCacheSebastian Holtermann2019-03-181-3/+3
|/ | | | | The name `cmFileTimeCache` reflects the functionality of the class more appropriately.
* cmake: Teach --build mode to support multiple targetsBartosz Kosiorek2019-03-051-2/+2
| | | | Fixes: #16136
* cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-2/+2
|
* 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