Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LucHermitte/lh-cmake

CMake plugin for vim
https://github.com/LucHermitte/lh-cmake

cmake vim vim-plugins viml-functions viml-library

Last synced: 3 months ago
JSON representation

CMake plugin for vim

Awesome Lists containing this project

README

        

lh-cmake : A CMake plugin for vim
========

This plugin provides a few utilities for working on [CMake](http://www.cmake.org) projects from
[vim](http://www.vim.org).

## Features
### Obtain current project configuration as it's known by CMake

This plugin can analyze the current `CMakeCache.txt` (see
[`lh#btw#compilation_dir()`](#configuration)) and report miscellaneous
information:

* Where the `CMakeCache.txt` file is thanks to `lh#cmake#_where_is_cache()`
* The dictionary (`:h Dict`) of variables matching a REGEX pattern with
`lh#cmake#get_variables(*pattern*)`
* The list of project specific includes (it lists the content of all CMake
`XXX_INCLUDE` variables)

It also provides a `:CMake` command that takes different parameters:

* `:CMake where-is-cache` displays the location of the current `CMakeCache.txt` ;
* `:CMake open-cache` opens the current `CMakeCache.txt` ;
* `:CMake show pattern` displays the cached CMake variables that have a name
that matches the REGEX pattern

### CMake dictionary

lh-cmake provides (an extremly incomplete) dictionary of CMake keywords,
variables, ... that can be used to help Vim complete in CMake files.

## Installation

This plugin will best installed with
[Vim-Addon-Manager](https://github.com/MarcWeber/vim-addon-manager) as it will
also install
dependencies ([lh-vim-lib](http://code.google.com/p/lh-vim/wiki/lhVimLib)).

By the mean time, you can clone this repositoriy and lh-vim-lib and install
them manually or with your prefered plugin manager.

## Configuration

This plugin needs the variable `(bpg):BTW.compilation_dir` to be set to the
directory where `ccmake` has been executed. Having this variable set and
up-to-date can be automated thanks to
[BuildToolsWrapper](http://code.google.com/p/lh-vim/wiki/BTW) and
[local_vimrc](http://code.google.com/p/lh-vim/source/browse/misc/trunk/plugin/local_vimrc.vim).
More on the subject latter.

[![Project Stats](https://www.openhub.net/p/21020/widgets/project_thin_badge.gif)](https://www.openhub.net/p/21020)