Commit Graph

194 Commits

Author SHA1 Message Date
Alex Turbov
3ae031992a
bash-completion: Complete a workflow name after the --workflow option
Update bash completion for commit b80aa1d3a3 (preset: Easier command
line interface for Workflow Presets, 2024-09-30, v3.31.0-rc1~17^2).

Issue: #26270
2024-10-27 21:08:12 +04:00
Pierre Rouleau
8eb8e27fb2 cmake-mode.el: Use line-beginning-position instead of obsolete point-at-bol
That fixes Emacs 29 warning:

    cmake-mode.el:186:48: Warning: ‘point-at-bol’ is an obsolete function
      (as of 29.1); use ‘line-beginning-position’ or ‘pos-bol’ instead.
2024-08-13 15:50:51 -04:00
Brad King
b0ba99f152 Merge topic 'doc-add_test-typo'
ca39258a66 Help: Fix typo in add_test documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9687
2024-07-29 10:59:00 -04:00
Brad King
ca39258a66 Help: Fix typo in add_test documentation 2024-07-26 10:37:35 -04:00
Alex Turbov
549fb86168 bash-completion: Handle cmake --workflow
Issue: #21000
Issue: #26100
2024-07-02 09:29:33 -04:00
Calum Robinson
0721f9bf0f VS: Add VS_FRAMEWORK_REFERENCES
Fixes: #26082
2024-06-26 16:44:51 +01:00
eutro
3ecf6bd1b1 cmake-mode.el: fix bracket string/comment syntax-propertize
With `lexical-binding: t`, the `end` variable is undefined in
`cmake--syntax-propertize-until-bracket-close`, causing syntax
highlighting errors. This fixes that by passing `end` from the caller.
2024-06-24 09:51:05 -04:00
Craig Scott
3889640e8b
Auxiliary: Modernize bash completion for ctest and cpack
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.
2024-06-07 18:48:46 +10:00
Ahmad Samir
1ff41ba26e Auxiliary: bash-completion: use _comp_initialize
_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
2024-06-02 20:07:23 +03:00
Ahmad Samir
d03b4acaa9 Auxiliary: Bash-comp: use _init_completion instead of _split_longopt
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
2024-06-02 18:25:00 +03:00
halx99
56a96d1f1f VS: Add option to import .props in .vcxproj.filters files
Adds new target property VS_FILTER_PROPS

Fixes: #25948
2024-05-02 00:30:00 +08:00
Konstantin Kharlamov
f0bfcc125d cmake-mode.el: fix "docstring wider than 80 characters" warning
Fixes:
    In cmake-help:
    cmake-mode.el:492:2: Warning: docstring wider than 80 characters
2024-04-11 18:24:18 +03:00
Konstantin Kharlamov
c1e5c9f162 cmake-mode.el: fix "no lexical-binding directive" warning
Fixes:
    In toplevel form:
    cmake-mode.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first line
2024-04-11 18:23:48 +03:00
Joerg Bornemann
91336c7469 cmake-mode.el: Simplify jumping to begin/end of functions/macros
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.
2024-01-25 11:51:17 -05:00
Orkun Tokdemir
7c39dabdbc Autogen: AUTO*_EXECUTABLE: add support for per-config values
* 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 fddd0f0443

Fixes: #20074
2024-01-17 16:02:58 +01:00
Craig Scott
d0ab70d57d
Help: Fix typo in dependency provider method keyword
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
2023-12-16 10:27:39 +11:00
Brad King
46c9feaec7 Merge topic 'vim-syntax'
56fb01a176 vim: Fix syntax highlighting for bracket arguments and comments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9061
2023-12-12 08:40:56 -05:00
namniav
56fb01a176 vim: Fix syntax highlighting for bracket arguments and comments
Fix VIM syntax highlighting for `cmakeBracketArgument`, `cmakeComment`
and `cmakeBracketComment`.

Fixes: #25488
2023-12-11 10:10:44 -05:00
Eisuke Kawashima
27bfbbc2c0 vim: add undo_indent to match upstream vim indentation scripts
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.
2023-12-11 10:07:33 -05:00
Brad King
1f7a653e90 Merge topic 'swift-compilation-mode'
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
2023-11-19 11:47:37 -05:00
Evan Wilde
c1d787e473 Swift: Add abstraction for compilation mode
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
2023-11-17 08:43:21 -05:00
tophoo
7a07887055 Autogen: Add support for response files for moc predef targets
Add support for response files for moc predef targets and make the limit when
to use response files for autogen targets configurable.
2023-11-16 16:29:02 +01:00
William Sciaroni
5e0c1777a3 Optionally make test target depend on all
Fixes: #8774
2023-11-10 13:19:11 -05:00
Ben Boeckel
0c07f39006 cmExperimental: remove the flag for C++ modules
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.

Fixes: #18355
2023-10-02 10:17:31 -04:00
Patrick Boettcher
664b0e2fc3 Merge branch 'upstream-vim-cmake-syntax'
* upstream-vim-cmake-syntax:
  vim-cmake-syntax 2023-07-13 (7c6f28d0)
2023-07-13 15:14:56 +02:00
Cordell Bloor
90a949f7ce HIP: Add HIP language to Vim syntax highlighting
The HIP language shares most properties in common with CXX or CUDA,
although there are a few from each that it doesn't share.
2023-07-07 10:29:39 -04:00
Craig Scott
652a785311
Help: Wording, formatting and ordering fixes for SKIP_LINTING docs
Amends b480315e0c (TargetGenerator: Add SKIP_LINTING source property,
2023-05-12).
2023-05-19 12:29:06 +10:00
Orkun Tokdemir
b480315e0c TargetGenerator: Add SKIP_LINTING source property
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.
2023-05-16 10:47:56 -04:00
Brad King
28dd02c3ba Merge topic 'autogen-system-include'
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
2023-05-04 09:01:08 -04:00
Orkun Tokdemir
033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property
`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.
2023-05-03 09:03:46 -04:00
Joris Clement
f4d2772049 vim: Add missing RELATIVE keyword for FILE command 2023-04-27 15:40:26 -04:00
Damien Nguyen
0722569cf3
Properly handle cases where topic argument is defaulted 2023-04-21 14:34:51 +02:00
Craig Scott
e245b4df75 Merge topic 'automoc-macro-names'
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
2023-04-10 18:06:06 -04:00
Orkun Tokdemir
c5c3aff1f5
Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property
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
2023-04-09 20:51:15 +10:00
Zhengyi Fu
915ef090c9 cmake-mode.el: escape shell arguments
Shell arguments containing "<" or ">" should be escaped.  Otherwise,
names such as CMAKE_<LANG>_FLAGS will be treated as IO redirection.
2023-04-01 07:57:46 +08:00
Orkun Tokdemir
b3d1797508 Autogen: Add CMAKE_AUTO*_EXECUTABLE variables
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
2023-03-22 07:31:56 -04:00
Robert Maynard
2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation 2023-03-13 09:54:00 -04:00
Abdelmaged Khalifa
ea2a05f402 Add variable CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY
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
2023-02-17 17:12:12 +02:00
Alois Klink
8c6b2928f4 ExternalProject: Add INSTALL_BYPRODUCTS option
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
2022-11-05 16:26:45 +00:00
Brad King
fc4451dd31 Merge topic 'xcode-add-gpu-validation-and-default-configuration'
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
2022-08-31 09:43:50 -04:00
PatriceJiang
740bee97bd Xcode: Add settings to control a scheme's launch configuration 2022-08-30 10:28:27 -04:00
PatriceJiang
39456c70e1 Xcode: Add settings to control a scheme's GPU Validation values 2022-08-30 10:26:48 -04:00
Marc Chevrier
44a2f3f332 Add new flow-control commands for variables and policies scopes management
Add block() and endblock() commands offering the capability to create
new scopes for variables and/or policies.

Fixes: #20171
2022-08-22 16:25:53 +02:00
Brad King
88a300d421 Merge topic 'cmake-mode-bracket-comment-argument'
364ca22b12 cmake-mode.el: add support for bracket_comment and bracket_argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7375
2022-06-17 11:32:20 -04:00
montag451
364ca22b12
cmake-mode.el: add support for bracket_comment and bracket_argument 2022-06-17 12:43:23 +02:00
Harry Mallon
a1a0ae3ad4 Xcode: Add Xcode SCHEME control for 'Launch' control 2022-06-15 19:02:56 +01:00
Craig Scott
c33c389f71 Merge topic 'preset-bash-completion'
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
2022-05-01 03:14:47 -04:00
Robin Linden
f7a6e036ad bash-completion: Support CMakePresets in cmake and ctest completion
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2022-04-29 14:33:19 +10:00
Brad King
07a54b2bb2 Merge topic 'target-bundle-dir-name-genex'
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
2022-04-26 11:15:47 -04:00
Ben Leadbetter
997af2e1a6 Genex: Add TARGET_BUNDLE_DIR_NAME
Evaluate to the name of the bundle directory for a given bundle target.

Fixes: #23409
2022-04-22 09:23:46 -04:00