| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #21391
|
|
|
|
|
| |
Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b
in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
|
|\
| |
| |
| |
| |
| |
| | |
c619be2784 ccmake: Don't list --preset in --help
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5428
|
| |
| |
| |
| |
| |
| | |
And show available options in cmake-gui.
Fixes: #21313
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
It was very easy to forgot to check against all language file
extensions. This updates the internal API to have a unified API.
|
| |
|
|
|
|
| |
Fixes: #20666
|
|\
| |
| |
| |
| |
| |
| | |
c84cf42897 cmState::GetGlobalProperty: return cmProp
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4521
|
| | |
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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#
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Tell CMake explicitly when it is re-running inside a `ninja` invocation
to re-generate the build system.
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Closes #19638.
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Automate the conversion with
perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g'
then manually fix a few places.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
3c94069660 Add --trace-redirect parameter to redirect trace output to a file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3645
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Refactor the file extention list setup in cmake.h/cxx and add file extensions
lists for Cuda and Fortran.
|
| |
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
Relates: #18943
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|
|
|
|
| |
In various places `///!` was used to start a comment line. This is not valid
Doygen syntax. This patch replaces `///!` comment starts with `//!`.
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Now CMake stores what compile features are associated with each
language level and exposes them as global properties.
|
| | |
|
|/
|
|
|
| |
The name `cmFileTimeCache` reflects the functionality of the class more
appropriately.
|
|
|
|
| |
Fixes: #16136
|
| |
|