CMake Editors Support: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 69: Line 69:




== Parsing Errors more efficiently ==


The CDT Error Parser cannot handle error messages that span more than one line, which is the default gcc behavior. In order to
force gcc to generate single line error messages with no line wrapping, add to your CMakeLists.txt:
IF(CMAKE_COMPILER_IS_GNUCC)
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
IF(CMAKE_COMPILER_IS_GNUCXX)
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)


== Automatic Discovery of Include directories and other compiler items ==
== Automatic Discovery of Include directories and other compiler items ==

Revision as of 13:57, 4 July 2007

CMake Editor Modes

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

; 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)
  • 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
  • Eclipse CMake Editor. Plug-in for the Eclipse IDE providing syntax coloring and content assist for editing CMakeLists.txt and any file ending in a .cmake extension. Integrates the CMake command reference documentation into the Eclipse Help system.
  • Kate, KWrite, KDevelop and all other KDE applications, which use the kate text-editing component support cmake syntax highlighting. Currently you have to open the settings dialog and choose download (Settings -> Configure Kate -> Editor -> Highlighting -> Download) and there select CMake in the listbox. Then the cmake syntax highlighting definition file for kate will be downloaded and installed. From KDE 3.4 and later cmake syntax highlighting will come with standard KDE.
  • 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;
  • SciTE version 1.73 has CMake support. To enable the feature edit SciTEGlobal.Properties and remove the comment before cmake lines.
  • TextMate is a wonderful text editor for OS X. CMake Bundle. This plugin adds syntax highlighting for 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


Using CMake from Eclipse CDT

Automatic Discovery of Include directories and other compiler items

In order for the CDT discovery mechanism to catch the compiler options and definitions automatically from the build output, enable the "Enable build output info discovery" in the project properties and set the CMAKE_VERBOSE_MAKEFILE variable in your CMakeLists.txt.

SET(CMAKE_VERBOSE_MAKEFILE ON)

If you don't want to hard-code this behavior in CMakeLists.txt, you can achieve the same effect by telling CDT to invoke make as

make VERBOSE=1




CMake: [Welcome | Site Map]