Difference between revisions of "CMake Editors Support"

From KitwarePublic
Jump to navigationJump to search
(Replace content with link to new CMake community wiki)
 
(30 intermediate revisions by 15 users not shown)
Line 1: Line 1:
==CMake Editor Modes==
{{CMake/Template/Moved}}


There are [[CMake]] syntax highlighting and indentation supports for many editors:
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/doc/Editors here].
 
* '''Eclipse''' There are two plugins for Eclipse:
** The [http://www.cthing.com/CMakeEd.asp 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 [http://www.cmakebuilder.com/ 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.
 
* '''Emacs''' [http://www.cmake.org/CMakeDocs/cmake-mode.el combined syntax highlighting and indentation mode].  The current file in the repository doesn't behave very well if you try to run fill-paragrap (M-q) on comments.  This [[CMake Emacs mode patch for comment formatting|patched version]] written by Miguel A. Figueroa-Villanueva fixes it.  Hopefully the patch will make it into the tree someday. To enable it, add the following to your ''.emacs'' file:
 
<pre>
; Add cmake listfile names to the mode list.
(setq auto-mode-alist
  (append
  '(("CMakeLists\\.txt\\'" . cmake-mode))
  '(("\\.cmake\\'" . cmake-mode))
  auto-mode-alist))
 
(autoload 'cmake-mode "~/CMake/Docs/cmake-mode.el" t)
</pre>
 
* '''Enscript''' [http://tristancarel.com/pub/patches/enscript/cmake.st syntax highlighting rules]. To enable it:
*# copy <tt>cmake.st</tt> in the <tt>hl/</tt> directory.
*#add the following in the <tt>namerules</tt> section of the <tt>hl/enscript.st</tt> file:
 
<pre>
  /CMakeLists\.txt/              cmake;
  /\.cmake.*$/                    cmake;
  /\.ctest.*$/                    cmake;
</pre>
 
* '''[http://kate.kde.org Kate]''', '''KWrite''', '''[http://www.kdevelop.org KDevelop]''' and all other [http://www.kde.org KDE] applications, which use the kate text-editing component support cmake syntax highlighting since KDE 3.4.
 
* '''NEdit''' [http://www.cmake.org/Wiki/images/c/c6/NEditCMakeHighlighting-0001.tar.gz syntax highlighting support] was added by [http://public.kitware.com/pipermail/cmake/2007-May/014267.html Philippe Poilbarbe]
 
* '''[http://notepad-plus.sourceforge.net/uk/site.htm Notepad++]''' added CMake support in version 4.1
 
* '''[http://scintilla.sourceforge.net/SciTEDownload.html SciTE]''' version 1.73 has CMake support. To enable the feature edit SciTEGlobal.Properties and remove the comment before the CMake lines.
 
* '''[http://www.macromates.com TextMate]''' is a wonderful text editor for OS X. [http://www.bluequartz.net/software/files/CMake.tmbundle.pkg CMake Bundle]. This plugin adds syntax highlighting for CMake files and rudimentary completion for command, properties and cmake variables.
 
* '''UltraEdit''' syntax highlighting  [http://www.cmake.org/Wiki/images/5/56/UltraEditWordfile.tar.gz word file.]
 
* '''VIM''' [http://www.cmake.org/CMakeDocs/cmake-syntax.vim syntax highlighting] and [http://www.cmake.org/CMakeDocs/cmake-indent.vim 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:
 
<pre>
: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
</pre>
 
==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

Latest revision as of 15:41, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.