| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This applies a similar modernization as was done in 1ff41ba26e
(Auxiliary: bash-completion: use _comp_initialize, 2024-06-02)
for the cmake executable. The _init_completion function was
deprecated upstream in bash-completion 2.12.
|
|
|
|
|
|
| |
_init_completion has been deprecated upstream since 2.12.
https://github.com/scop/bash-completion/blob/main/bash_completion.d/000_bash_completion_compat.bash#L237
|
|
|
|
|
|
|
|
|
|
| |
Using `_init_completion -s` will handle the option splitting and set the
`split` var [1].
Keep setting `split` manually for the older manual bash completion
initialization.
[1] https://github.com/scop/bash-completion/blob/main/bash_completion.d/000_bash_completion_compat.bash#L227
|
|
|
|
|
|
| |
Adds new target property VS_FILTER_PROPS
Fixes: #25948
|
|
|
|
|
|
| |
Fixes:
In cmake-help:
cmake-mode.el:492:2: Warning: docstring wider than 80 characters
|
|
|
|
|
|
| |
Fixes:
In toplevel form:
cmake-mode.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change was spawned by the desire to use `narrow-to-defun` in CMake
files. However, there was no "CMake version" of that function, and it
turns out that we don't need one if we make `beginning-of-defun` and
`end-of-defun` work in `cmake-mode`.
In the setup code of `cmake-mode` we now set the local variables
`beginning-of-defun-function` and `end-of-defun-function`. This makes
`beginning-of-defun` and `end-of-defun` work as expected.
Functions that use this facility also work now: `mark-defun` and
`narrow-to-defun` and possibly others.
We remove `cmake-mark-defun` since it's superfluous now.
We remove the defun-related key bindings since the standard functions
that are bound globally work fine with this patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Per-config values were added to `AUTO*_EXECUTABLE`.
* Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to avoid unnecessary rebuilds.
* A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used.
* Add `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` target property to change the behavior of the dependency graph.
* The timestamp target is split into three targets for per-config to avoid redundant `mocs_compilation` builds when `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` is ON
* Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `Multi-Config` usage.
* Some functions were refactored to avoid code duplication.
This commit reimplements fddd0f0443b4ce81d61f15ee1b2f13105967b25a
Fixes: #20074
|
|
|
|
|
|
|
|
|
| |
The cmake.vim file is generated by scanning for keyword-like
strings in the docs. Update the corresponding wrong entry
there too directly for now, which will fix the wrong entry until
the next full regeneration of the file.
Fixes: #25503
|
|\
| |
| |
| |
| |
| |
| | |
56fb01a176 vim: Fix syntax highlighting for bracket arguments and comments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9061
|
| |
| |
| |
| |
| |
| |
| | |
Fix VIM syntax highlighting for `cmakeBracketArgument`, `cmakeComment`
and `cmakeBracketComment`.
Fixes: #25488
|
|/
|
|
|
|
| |
This resets `inde` (`indentexpr`) and `indk` (`indentkeys`) to the
global values when closing. Upstream `vim` updated their indentation
scripts in April 2022 to add this.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
0f80101b73 Tests: Update Swift tests to use CMP0157 NEW behavior
c1d787e473 Swift: Add abstraction for compilation mode
c39384f540 Tests: Simplify RunCMake.Swift conditions to enable use of Swift
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8918
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `CMAKE_Swift_COMPILATION_MODE` variable and corresponding
`Swift_COMPILATION_MODE` target property to control the compilation
mode. Select among `wholemodule`, `singlefile`, and `incremental`.
Add policy CMP0157 to remove the default `-wmo` flags in favor of the
abstract setting.
Issue: #25366
|
|/
|
|
|
| |
Add support for response files for moc predef targets and make the limit when
to use response files for autogen targets configurable.
|
|
|
|
| |
Fixes: #8774
|
|
|
|
|
|
|
| |
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.
Fixes: #18355
|
|
|
|
|
| |
* upstream-vim-cmake-syntax:
vim-cmake-syntax 2023-07-13 (7c6f28d0)
|
|
|
|
|
| |
The HIP language shares most properties in common with CXX or CUDA,
although there are a few from each that it doesn't share.
|
|
|
|
|
| |
Amends b480315e0c2 (TargetGenerator: Add SKIP_LINTING source property,
2023-05-12).
|
|
|
|
|
|
|
| |
The `SKIP_LINTING` source property was added to disable code check for
desired source files. The `SKIP_LINTING`includes `cpplint`, `clang-tidy`, \
`cppcheck` and `include-what-you-use`. If `SKIP_LINTING` is set on a
source file, the tools mentioned above will not be run on that source file.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7bf4e30090 Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not set
033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property
8ba16db163 Tests/RunCMake: Add option for dynamic expected output
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8400
|
| |
| |
| |
| |
| |
| |
| | |
`AUTOGEN_USE_SYSTEM_INCLUDE` was added. `AUTOGEN_USE_SYSTEM_INCLUDE`
is a boolean property that can be set on a target to indicate that the
autogen target include directory should be added as a system include
directory or normal include directory to the target.
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
c5c3aff1f5 Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property
69cf9700e6 Autogen: Defer setup until Generate step
7cecb6353e cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure
2daba01ddf cmGeneratorTarget: Avoid incidental include-what-you-use warning
850b4d990c IWYU: Add mapping for 'std::remove_reference<Defer &>::type'
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8391
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add this target property to specify macro names that propagate to
dependents as `AUTOMOC_MACRO_NAMES`. The dependents will automatically
generate MOC files for source files that contain the inherited macro
names.
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
Fixes: #19679
|
|/
|
|
|
| |
Shell arguments containing "<" or ">" should be escaped. Otherwise,
names such as CMAKE_<LANG>_FLAGS will be treated as IO redirection.
|
|
|
|
|
|
|
|
| |
Add the `CMAKE_AUTOMOC_EXECUTABLE`, `CMAKE_AUTOUIC_EXECUTABLE`, and
`CMAKE_AUTORCC_EXECUTABLE` variables to initialize the corresponding
`AUTO{MOC,UIC,RCC}_EXECUTABLE` target properties.
Fixes: #20071
|
| |
|
|
|
|
|
|
|
| |
Add CMake variable `CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY` to enable
option `DEPENDS_EXPLICIT_ONLY` on all uses of `add_custom_command`.
Fixes: #17097
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an `INSTALL_BYPRODUCTS` option to `ExternalProject_Add` that can
be used to declare that files are `BYPRODUCTS` of the ExternalProject
install step.
This is often required by the Ninja generator to explicitly declare
dependencies. Previously, many users used `BUILD_BYPRODUCTS`, even if
their files were created by the install step, not the build step.
This commit essentially just copies the code for `BUILD_BYPRODUCTS`.
Fixes: #24120
Fixes: #23056
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
740bee97bd Xcode: Add settings to control a scheme's launch configuration
39456c70e1 Xcode: Add settings to control a scheme's GPU Validation values
4034272ed8 gitignore: Tell Git to ignore the .cache/ directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7581
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Add block() and endblock() commands offering the capability to create
new scopes for variables and/or policies.
Fixes: #20171
|
|\
| |
| |
| |
| |
| |
| | |
364ca22b12 cmake-mode.el: add support for bracket_comment and bracket_argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7375
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
f7a6e036ad bash-completion: Support CMakePresets in cmake and ctest completion
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !7148
|
| |
| |
| |
| | |
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
997af2e1a6 Genex: Add TARGET_BUNDLE_DIR_NAME
627b2eba6c Help: Make TARGET_BUNDLE[_CONTENT]_DIR examples more precise
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7177
|
| | |
| | |
| | |
| | |
| | |
| | | |
Evaluate to the name of the bundle directory for a given bundle target.
Fixes: #23409
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
42f7e39789 Find: Support per call disabling of CMAKE_INSTALL_PREFIX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7163
|
| |/
| |
| |
| | |
Fixes #23359
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the indentation of lines which contain only closing
parentheses (`)`).
Example:
Change
```
add_library(mylib
mysrc.c
)
```
to:
```
add_library(mylib
mysrc.c
)
```
There are edge cases, where the indentation still doesn't really work.
Example:
This, admittedly weird, piece of code (manually formatted to what I would
expect - this is already a personal preference ...):
```
if(4)
if((0 OR 1
)
) # could also be aligned with the `i` in `if`
set(foobar
)
endif()
set(foobar)
endif()
```
will be changed to:
```
if(4)
if((0 OR 1
)
)
set(foobar
)
endif()
set(foobar)
endif()
```
whereas with the previous vim indentation code the result would have been:
```
if(4)
if((0 OR 1
)
)
set(foobar
)
endif()
set(foobar)
endif()
```
which is not great but better than above. I hope that this is acceptable.
Note: Apart from the actual indentation fixes, I based the change on a version
of indent/cmake.vim I found in the debian/bookworm vim82 package which is newer
than the one in the cmake repository (with `Last Change: 2017 Sep 24` comment
instead of the cmake repo version with `Last Change: 2017 Aug 30`).
This vim82/debian version moved these two lines:
```
let s:keepcpo= &cpo
set cpo&vim
```
a bit further down (after an early exit check - which seems to make sense to
me).
Fixes: #22394
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Outdent lines containing only closing parentheses (`)`) by `cmake-tab-width`
to align the indentation of the 'closing parens only line' with the line that
contains the opening paren.
I.e. change the formatting from:
add_library(mylib
mysrc.c
)
to:
add_library(mylib
mysrc.c
)
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
140704d443 ctest: add option for output truncation
359e5b17d8 presets: bump version to v5
4634de335b cmCTestTestHandler: refactor CleanTestOutput method
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6993
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add `--test-output-truncation` to `ctest`. This option can be used to
customize which part of the test output is being truncated. Currently
supported values are `tail`, `middle` and `head`.
Also add equivalent `CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable.
Fixes: #23206
|