summaryrefslogtreecommitdiffstats
path: root/Auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* Auxiliary: Modernize bash completion for ctest and cpackCraig Scott2024-06-072-2/+6
| | | | | | | 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.
* Auxiliary: bash-completion: use _comp_initializeAhmad Samir2024-06-021-3/+11
| | | | | | _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
* Auxiliary: Bash-comp: use _init_completion instead of _split_longoptAhmad Samir2024-06-021-3/+9
| | | | | | | | | | 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
* VS: Add option to import .props in .vcxproj.filters fileshalx992024-05-011-0/+1
| | | | | | Adds new target property VS_FILTER_PROPS Fixes: #25948
* cmake-mode.el: fix "docstring wider than 80 characters" warningKonstantin Kharlamov2024-04-111-1/+2
| | | | | | Fixes: In cmake-help: cmake-mode.el:492:2: Warning: docstring wider than 80 characters
* cmake-mode.el: fix "no lexical-binding directive" warningKonstantin Kharlamov2024-04-111-1/+1
| | | | | | Fixes: In toplevel form: cmake-mode.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first line
* cmake-mode.el: Simplify jumping to begin/end of functions/macrosJoerg Bornemann2024-01-251-14/+4
| | | | | | | | | | | | | | | | | | | 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.
* Autogen: AUTO*_EXECUTABLE: add support for per-config valuesOrkun Tokdemir2024-01-171-0/+2
| | | | | | | | | | | | | | * 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
* Help: Fix typo in dependency provider method keywordCraig Scott2023-12-151-1/+0
| | | | | | | | | 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
* Merge topic 'vim-syntax'Brad King2023-12-121-3/+3
|\ | | | | | | | | | | | | 56fb01a176 vim: Fix syntax highlighting for bracket arguments and comments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9061
| * vim: Fix syntax highlighting for bracket arguments and commentsnamniav2023-12-111-3/+3
| | | | | | | | | | | | | | Fix VIM syntax highlighting for `cmakeBracketArgument`, `cmakeComment` and `cmakeBracketComment`. Fixes: #25488
* | vim: add undo_indent to match upstream vim indentation scriptsEisuke Kawashima2023-12-111-0/+2
|/ | | | | | 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.
* Merge topic 'swift-compilation-mode'Brad King2023-11-191-0/+1
|\ | | | | | | | | | | | | | | | | | | 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
| * Swift: Add abstraction for compilation modeEvan Wilde2023-11-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* | Autogen: Add support for response files for moc predef targetstophoo2023-11-161-0/+2
|/ | | | | Add support for response files for moc predef targets and make the limit when to use response files for autogen targets configurable.
* Optionally make `test` target depend on `all`William Sciaroni2023-11-101-0/+1
| | | | Fixes: #8774
* cmExperimental: remove the flag for C++ modulesBen Boeckel2023-10-021-3/+0
| | | | | | | All the major compilers now have scheduled releases with support for scanning, so remove the experimental gate. Fixes: #18355
* Merge branch 'upstream-vim-cmake-syntax'Patrick Boettcher2023-07-133-59/+816
| | | | | * upstream-vim-cmake-syntax: vim-cmake-syntax 2023-07-13 (7c6f28d0)
* HIP: Add HIP language to Vim syntax highlightingCordell Bloor2023-07-071-0/+81
| | | | | The HIP language shares most properties in common with CXX or CUDA, although there are a few from each that it doesn't share.
* Help: Wording, formatting and ordering fixes for SKIP_LINTING docsCraig Scott2023-05-191-1/+1
| | | | | Amends b480315e0c2 (TargetGenerator: Add SKIP_LINTING source property, 2023-05-12).
* TargetGenerator: Add SKIP_LINTING source propertyOrkun Tokdemir2023-05-161-0/+1
| | | | | | | 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.
* Merge topic 'autogen-system-include'Brad King2023-05-041-0/+2
|\ | | | | | | | | | | | | | | | | | | 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: Add AUTOGEN_USE_SYSTEM_INCLUDE target propertyOrkun Tokdemir2023-05-031-0/+2
| | | | | | | | | | | | | | `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.
* | vim: Add missing RELATIVE keyword for FILE commandJoris Clement2023-04-271-0/+1
|/
* Properly handle cases where `topic` argument is defaultedDamien Nguyen2023-04-211-2/+2
|
* Merge topic 'automoc-macro-names'Craig Scott2023-04-101-0/+1
|\ | | | | | | | | | | | | | | | | | | | | 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
| * Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target propertyOrkun Tokdemir2023-04-091-0/+1
| | | | | | | | | | | | | | | | | | | | 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
* | cmake-mode.el: escape shell argumentsZhengyi Fu2023-03-311-2/+2
|/ | | | | Shell arguments containing "<" or ">" should be escaped. Otherwise, names such as CMAKE_<LANG>_FLAGS will be treated as IO redirection.
* Autogen: Add CMAKE_AUTO*_EXECUTABLE variablesOrkun Tokdemir2023-03-221-0/+3
| | | | | | | | 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
* CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilationRobert Maynard2023-03-131-0/+3
|
* Add variable CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLYAbdelmaged Khalifa2023-02-171-0/+2
| | | | | | | 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
* ExternalProject: Add `INSTALL_BYPRODUCTS` optionAlois Klink2022-11-051-0/+1
| | | | | | | | | | | | | | | 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
* Merge topic 'xcode-add-gpu-validation-and-default-configuration'Brad King2022-08-311-0/+6
|\ | | | | | | | | | | | | | | | | 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
| * Xcode: Add settings to control a scheme's launch configurationPatriceJiang2022-08-301-0/+2
| |
| * Xcode: Add settings to control a scheme's GPU Validation valuesPatriceJiang2022-08-301-0/+4
| |
* | Add new flow-control commands for variables and policies scopes managementMarc Chevrier2022-08-223-4/+6
|/ | | | | | | Add block() and endblock() commands offering the capability to create new scopes for variables and/or policies. Fixes: #20171
* Merge topic 'cmake-mode-bracket-comment-argument'Brad King2022-06-171-1/+37
|\ | | | | | | | | | | | | 364ca22b12 cmake-mode.el: add support for bracket_comment and bracket_argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7375
| * cmake-mode.el: add support for bracket_comment and bracket_argumentmontag4512022-06-171-1/+37
| |
* | Xcode: Add Xcode SCHEME control for 'Launch' controlHarry Mallon2022-06-151-0/+2
|/
* Merge topic 'preset-bash-completion'Craig Scott2022-05-012-1/+48
|\ | | | | | | | | | | | | | | 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
| * bash-completion: Support CMakePresets in cmake and ctest completionRobin Linden2022-04-292-1/+48
| | | | | | | | Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | Merge topic 'target-bundle-dir-name-genex'Brad King2022-04-261-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | Genex: Add TARGET_BUNDLE_DIR_NAMEBen Leadbetter2022-04-221-0/+1
| | | | | | | | | | | | | | | | | | Evaluate to the name of the bundle directory for a given bundle target. Fixes: #23409
* | | Merge topic 'NO_CMAKE_INSTALL_PREFIX'Brad King2022-04-221-0/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 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
| * | Find: Support per call disabling of CMAKE_INSTALL_PREFIXRobert Maynard2022-04-151-0/+1
| |/ | | | | | | Fixes #23359
* | VS: Add StartupObject property for managed .NET projectsFlorian Schweiger2022-04-121-0/+1
|/
* vim: Fix indentation of 'closing parens only lines'Kai Tetzlaff2022-03-221-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cmake-mode.el: Fix indentation of 'closing parens only lines'Kai Tetzlaff2022-03-181-17/+39
| | | | | | | | | | | | | | | | | | 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 )
* Merge topic 'ctest_truncate'Brad King2022-03-091-0/+1
|\ | | | | | | | | | | | | | | | | 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
| * ctest: add option for output truncationFrank Winklmeier2022-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | 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