Policies/CMake Coding Style: Difference between revisions

From KDE TechBase
No edit summary
(typo)
Line 15: Line 15:
==Upper/lower casing==
==Upper/lower casing==


CMake commands are case-insensitiv (only the commands, not the arguments or variable names). So all the following versions work:
CMake commands are case-insensitive (only the commands, not the arguments or variable names). So all the following versions work:
<code>
<code>
add_executable(foo foo.c)
add_executable(foo foo.c)

Revision as of 12:57, 20 January 2009

This document describes the recommended coding style for CMake files in KDE, i.e. CMakeLists.txt files and *.cmake files.

Indentation

Indent all code correctly, i.e. the body of

  • IF/ELSE/ENDIF
  • FOREACH/ENDFOREACH
  • WHILE/ENDWHILE
  • MACRO/ENDMACRO
  • FUNCTION/ENDFUNCTION (CMake 2.6)

Use spaces for indenting, 2, 3 or 4 spaces preferably. Use the same amount of spaces for indenting as is used in the rest of the file.

Upper/lower casing

CMake commands are case-insensitive (only the commands, not the arguments or variable names). So all the following versions work: add_executable(foo foo.c) ADD_EXECUTABLE(bar bar.c) Add_Executable(hello hello.c) aDd_ExEcUtAbLe(blub blub.c)

But this would be ugly.

In KDE the all-lowercase style is preferred. The all-uppercase style is also ok. Mixing upper- and lowercase should not be done in KDE CMake files. Although all-lowercase is preferred, if a file is apparently in all-uppercase style, then stay consistent and also use all-uppercase in this file.

Writing CMake Find-modules

Follow the style guide from CMake when writing some FindFoo.cmake module: readme.txt