From 37070ef16a5836d3913f7d95f1cbc27a1cdceea0 Mon Sep 17 00:00:00 2001
From: Ralf Ulrich <ralf.ulrich@kit.edu>
Date: Fri, 17 May 2019 20:16:25 +0200
Subject: [PATCH] Update CONTRIBUTING.md

---
 CONTRIBUTING.md | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4efb04f9..f535d69f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -42,6 +42,30 @@ e.g. [link1](https://clangformat.com/) or
 [link2](https://zed0.co.uk/clang-format-configurator/).
 
 
+## CMAKE formatting
+
+  - command are lower cases, e.g. ```set (...)```
+  - variables upper case, e.g. ```set (VAR1 Text)```
+
+Since cmake itself lacks structure almost entirely:
+  - put a space between command and start of parenthesis, e.g. ```command (...)``` 
+  - add two spaces for logical indent 
+  ```
+  if (condition)
+    do something
+  endif (condition)
+  ```
+- break long lines to start with new keyword in new line (indented)
+  ```
+  install (
+    FILES ${CORSIKAstackinterface_HEADERS}
+    DESTINATION include/${CORSIKAstackinterface_NAMESPACE}
+    )  
+  ```
+  - add plenty of comments to all cmake code
+  - use expressive variables and functions
+
+
 ## Naming conventions
 
 While `clang-format` does the structural formatting, we still need to agree on naming conventions:
-- 
GitLab