summaryrefslogtreecommitdiffstats
path: root/Auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | color: Introduce CMAKE_COLOR_DIAGNOSTICS variableSemyon Kolton2022-03-081-0/+1
|/ | | | | | | Add a variable to control both makefile color messages and compiler color diagnostics. Fixes: #15502
* VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-081-0/+1
| | | | Resolves: #23179
* ExternalProject: Add support for USES_TERMINAL_PATCH keywordCraig Scott2022-02-031-0/+1
| | | | | | | This brings the patch step into line with all the others which already had their own `USES_TERMINAL_<step>` keyword. All steps (including patch) already have their own `LOG_<step>` keyword too, so the lack of `USES_TERMINAL_PATCH` was inconsistent.
* VS: Add DOTNET_SDK property to generate SDK-style C# projectsSumit Bhardwaj2021-12-211-0/+2
| | | | | | | | Changes in cmVisualStudio10TargetGenerator::Generate to write .Net SDK-style project for VS generators VS 19 and above. Also adds documentation and tests. Issue: #20227
* GHS: GHSMULTI - Update documentation to match implementationFred Baksik2021-11-151-1/+1
| | | | * The variable being set was named `GHSMULTI` not `GHS-MULTI`.
* Xcode: Support "GPU Frame Capture" scheme propertyJake Turner2021-10-191-0/+2
| | | | | | | | | | | Added XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE variable which sets the scheme property value for "GPU Frame Capture" in the Options section by setting the Xcode project variable "enableGPUFrameCaptureMode". Example values are "Metal" (1) and "Disabled" (3). XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE is initialized by the property CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE. Implements: #22700