summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* cmBuildOptions: Split build arguments into separate object.Carsten Rudolph2022-01-221-2/+3
|
* Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraphKyle Edwards2022-01-061-3/+3
| | | | And change all references to "file" to say "graph" instead.
* cmake: Add filtered debug-find optionsJohn Parent2021-12-171-1/+8
| | | | | | | | | | Add a `--debug-find-pkg=` option to debug find calls for specific packages. Add a `--debug-find-var=` option to debug find calls for specific return variables. Fixes: #21880
* Rename cmProp in cmValueMarc Chevrier2021-09-211-8/+8
|
* AddCacheEntry accept cmProp or std::stringMarc Chevrier2021-09-101-0/+12
|
* Enhancement: SetProperty accept cmProp or std::stringMarc Chevrier2021-08-251-0/+5
| | | | | Methods SetProperty of classes cmPropertyMap, cmStateDirectory and cmMakefile accept now cmProp or std::string as argument.
* cmake: Model normal and try-compile project kinds explicitlyBrad King2021-07-121-2/+2
| | | | | Construct with the project kind instead of mutating state after construction.
* HIP: Add language to CMakeRobert Maynard2021-06-071-1/+10
|
* class cmake: Store working directory at cmake launchMarc Chevrier2021-05-111-0/+9
|
* cmake: add support for --toolchain command argumentRobert Maynard2021-04-151-0/+2
|
* cmake: add support for --install-prefix command argumentRobert Maynard2021-03-041-0/+2
| | | | Fixes: #21781
* C23 supportRaul Tambre2021-02-251-0/+1
|
* C17 supportRaul Tambre2021-02-251-0/+1
| | | | Implements #17755.
* cmake-presets: Add build and test presetsSam Freed2021-02-011-5/+5
| | | | Fixes: #21391
* CUDA, CXX, OBJCXX: C++23 support with Clang 12Raul Tambre2020-12-081-1/+3
| | | | | Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
* Merge topic 'cmake-presets-help-flag'Brad King2020-10-281-2/+0
|\ | | | | | | | | | | | | c619be2784 ccmake: Don't list --preset in --help Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5428
| * ccmake: Don't list --preset in --helpKyle Edwards2020-10-271-2/+0
| | | | | | | | | | | | And show available options in cmake-gui. Fixes: #21313
* | Constify some code as suggested by clang-tidyCengizhan Pasaoglu2020-10-191-8/+8
|/
* 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.