All Projects → jalcine → Cmake.vim

jalcine / Cmake.vim

Licence: mit
🔨 CMake functionality within Vim.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Cmake.vim

Vst3sdk
VST 3 Plug-In SDK
Stars: ✭ 853 (+1022.37%)
Mutual labels:  cmake, plugins
Wishlist
A public catalogue of Lua plugins Neovim users would like to see exist
Stars: ✭ 74 (-2.63%)
Mutual labels:  plugins
Burst
То, чего нет в Бусте
Stars: ✭ 72 (-5.26%)
Mutual labels:  cmake
L9
Vim-script library
Stars: ✭ 73 (-3.95%)
Mutual labels:  viml
Vim Neatstatus
Neat Status Line Plugin for Vim
Stars: ✭ 72 (-5.26%)
Mutual labels:  viml
Awesome Vuetify
🎉 The best resources related to Vuetify
Stars: ✭ 1,189 (+1464.47%)
Mutual labels:  plugins
Hacktoberfest2020
Contribute for hacktoberfest 2020
Stars: ✭ 72 (-5.26%)
Mutual labels:  cmake
Intero.nvim
Haskell+Neovim lightning fast autocompletion and other IDE functionality
Stars: ✭ 76 (+0%)
Mutual labels:  viml
Skybison
Vim plugin to expedite use of cmdline commands
Stars: ✭ 74 (-2.63%)
Mutual labels:  viml
Moonscript Vim
MoonScript support for vim
Stars: ✭ 73 (-3.95%)
Mutual labels:  viml
Vimconf
Personal vim conf and plugins for Mac and Linux.
Stars: ✭ 73 (-3.95%)
Mutual labels:  viml
Dotvim
DEFUNCT, *no longer used* ; My Vim setup, using vundle
Stars: ✭ 72 (-5.26%)
Mutual labels:  viml
Skeleton
A ready-to-use CodeIgniter skeleton with tons of new features and a whole new concept of hooks (actions and filters) as well as a ready-to-use and application-free themes and plugins system. Facebook Page: http://bit.ly/2oHzpxC | Facebook Group: http://bit.ly/2o3KOrA. Help me carry on making more free stuff → http://bit.ly/2ppNujE ←
Stars: ✭ 74 (-2.63%)
Mutual labels:  plugins
Rainbow
Rainbow Parentheses Improved
Stars: ✭ 72 (-5.26%)
Mutual labels:  viml
Cmake Modules
CMake modules for some scientific libraries
Stars: ✭ 75 (-1.32%)
Mutual labels:  cmake
Underscore.vim
Vim script utility library 💓 The sky is the limit!
Stars: ✭ 72 (-5.26%)
Mutual labels:  viml
Fcnpc
FCNPC - Fully Controllable NPC
Stars: ✭ 73 (-3.95%)
Mutual labels:  cmake
Vim Latex
Mirror of vim-latex as Sourceforge's git support blows chunks!
Stars: ✭ 73 (-3.95%)
Mutual labels:  viml
Dataiku Contrib
Public repository for DSS plugins
Stars: ✭ 76 (+0%)
Mutual labels:  plugins
Openssl Cmake
Build OpenSSL with CMake on MacOS, Win32, Win64 and cross compile for Android, IOS
Stars: ✭ 76 (+0%)
Mutual labels:  cmake

Stories in Ready)

CMake Interoperability in Vim

Searching For a Maintainer

This project is not being actively maintained by Jacky Alcine. If you'd like to contribute to improve this project, please submit pull requests (Jacky is still reviewing them) and over time, the most active contributor can take the reigns.

cmake.vim 0.5.5 is a Vim plugin that aims to bind CMake within Vim for your CMake-based projects. This project has not reached a 1.0.0 release and thus isn't fully ready for production.

Installing

I recommending using Vundle to install plugins. The line necessary to add this plugin is as follows:

Bundle 'jalcine/cmake.vim'

Alternatively Plug:

Plug 'jalcine/cmake.vim'

Releases are made on Vim.org's scripts as well on patch-level releases.

Requirements

cmake.vim is a pure Vimscript plugin, thus requiring nothing but Vim itself being over version 7.3 or greater. Patches to support older versions of Vim are greatly appreciated!

Getting Started

After you installed the plugin, just cd into the directory where the top-level CMakeLists.txt can be found and run:

" Create a new binary directory for your clean project.
:CMakeCreateBuild <build-dir-name>

" Build all of the targets.
:CMakeBuild

" Clean up bad builds.
:CMakeClean

cmake.vim does not bind to any keys by default. Check :h cmake for more information.

Add the following to your .vimrc if you haven't already. You will be able to type :CMake<tab> to discover available commands.

set wildmenu
set wildmode=longest:full,full " Display Vim command mode autocompletion list

Commands

cmake.vim defines a few methods for generic interaction with CMake. Check out :help cmake-methods for more information.

Options

In order for CMake to operate, it has to know where the build directory is located. This is done automatically by the plugin but it does need help in the event that you happen to build your CMake project in a sub-directory. Check out :help cmake-options for more information.

Testing

The test suite is written using RSpec and Vimrunner. The following would do a full unit test of the entire system:

bundle install && rake

The project uses Guard as well for automated tests. Be sure to check out the submodules as well to test if external plugins like syntastic and YouCompleteMe work as expected.

Known Edgecases

  1. If you use a header file as the source file, the plugin only knows of the source files (which sometimes are generated) and doesn't update the b:cmake_target variable correctly.

License

This code is released and available under the MIT license. Multiply and be fruitful.

Similar Projects

There's a few other projects out there that aim to achieve the same goal as cmake.vim. Feel free to send a PR if you want your project listed here.

Author

I'm Jacky Alcine and I like code. A lot. I also chat a lot like a firehose so follow with caution!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].