(→Indentation: lowercase. also mention not to use tabs) |
|||
| Line 4: | Line 4: | ||
Indent all code correctly, i.e. the body of | 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 | 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. | + | of spaces for indenting as is used in the rest of the file. Do not use tabs. |
==Upper/lower casing== | ==Upper/lower casing== | ||
This document describes the recommended coding style for CMake files in KDE, i.e. CMakeLists.txt files and *.cmake files.
Contents |
Indent all code correctly, i.e. the body of
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. Do not use tabs.
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.
You are free to use pkg-config in FindXXX.cmake modules, as long as the following conditions are met:
if(FOO_LIBRARY AND FOO_INCLUDE_DIR) set(FOO_FOUND TRUE) else() ... execute the whole find-logic endif()
should be removed, the find-logic should be executed always. These shortcuts can cause problems e.g. when the same file is used from multiple directories but e.g. with different required versions or components etc.