Difference between revisions of "CMake Editors Support"

From KitwarePublic
Jump to navigationJump to search
(→‎CMake Editor Modes: Update VIM mode files link to repository viewer)
m (Added link to Emacs home page)
Line 16: Line 16:
* '''[http://www.netbeans.org NetBeans]''' supports CMake-based projects [http://forums.netbeans.org/ntopic26390.html natively since version 6.8].
* '''[http://www.netbeans.org NetBeans]''' supports CMake-based projects [http://forums.netbeans.org/ntopic26390.html natively since version 6.8].

* '''Emacs''': See the [[CMake/Editors/Emacs|CMake Emacs Support]] page.
* '''[http://www.gnu.org/software/emacs Emacs]''': See the [[CMake/Editors/Emacs|CMake Emacs Support]] page.

* '''Enscript''' [http://tristancarel.com/pub/patches/enscript/cmake.st syntax highlighting rules]. To enable it:
* '''Enscript''' [http://tristancarel.com/pub/patches/enscript/cmake.st syntax highlighting rules]. To enable it:

Revision as of 04:52, 7 May 2013

CMake Editor Modes

There are CMake syntax highlighting and indentation supports for many editors:

  • Eclipse There are two plugins for Eclipse:
    • The CMakeEd plugin for Eclipse provides syntax coloring and content assist for editing CMakeLists.txt and any file ending in a .cmake extension. It also integrates the CMake command reference documentation into the Eclipse Help system. This plugin does NOT do project management for you or generate CMake files for you. You are still responsible for this part. CMakeEd just makes writing the CMakeLists.txt files easier.
    • The CMakeBuilder plugin provides a user friendly interface to easily manage CMake-based projects, with the following features: advanced parser, Advanced CMake outline, CMakeBuilder perspective, symbol table and environment inspector, CMake files editor with syntax highlighting, code assist, wizard-oriented project management, Project Nature CMakeBuilder for CDT projects, and incremental project builders.
    • Here you find documentation how to use the Eclipse CDT project generator of CMake.
    • Here you find documentation how to use Eclipse with the regular Makefile generator of CMake (for versions < 2.6 of CMake).

  • KDevelop 4 supports CMake-based projects natively.
  • QtCreator supports CMake-based projects natively.
  • Enscript syntax highlighting rules. To enable it:
    1. copy cmake.st in the hl/ directory.
    2. add the following in the namerules section of the hl/enscript.st file:
  /CMakeLists\.txt/               cmake;
  /\.cmake.*$/                    cmake;
  /\.ctest.*$/                    cmake;
  • Epsilon has a CMake extension that supports syntax highlighting, indentation, and auto-completion of expressions for control statements such as if-else-endif, foreach-endforeach, and while-endwhile.
  • Kate, KWrite, KDevelop and all other KDE applications, which use the kate text-editing component support cmake syntax highlighting since KDE 3.4.
  • SciTE version 1.73 has CMake support. To enable the feature edit SciTEGlobal.Properties and remove the comment before the CMake lines.
  • TextMate is a wonderful text editor for OS X. CMake Bundle. This plugin adds syntax highlighting for CMake files and rudimentary completion for command, properties and cmake variables.
  • VIM syntax highlighting and indentation mode. To enable indentation, copy indentation file to your .vim/indent directory, syntax highlighting file to your .vim/syntax directory and add the following to your .vimrc:
:autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim 
:autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake
:autocmd BufRead,BufNewFile *.ctest,*.ctest.in setf cmake
  • Visual Studio 2010 Professional and above have an extension for editing CMake files

Creating New Editor Mode

The best way to start is to check the logic in existing ones. Make sure to enable indentation for files that match the following file names:

  • CMakeLists.txt
  • *.cmake
  • *.cmake.in
  • *.ctest
  • *.ctest.in