cmake: apply cmake-format

Use cmake-format from:
https://github.com/cheshirekow/cmake_format
to enforce a consistent style.

Extra line breaks to work around:
https://github.com/cheshirekow/cmake_format/issues/33

Upstream bug for overzealous 'if' expansion:
https://github.com/cheshirekow/cmake_format/issues/34

Change-Id: Ib709f06ce37e9b89ddaf3eb0b28612aabbe36aed
diff --git a/.cmake-format.py b/.cmake-format.py
new file mode 100644
index 0000000..cebad07
--- /dev/null
+++ b/.cmake-format.py
@@ -0,0 +1,47 @@
+# How wide to allow formatted cmake files
+line_width = 80
+
+# How many spaces to tab for indent
+tab_size = 2
+
+# If arglists are longer than this, break them always. This introduces some
+# interesting effects with complicated 'if' statements. However, we want file
+# lists to look reasonable. Try to strike a balance.
+max_subargs_per_line = 10
+
+# If true, separate flow control names from their parentheses with a space
+separate_ctrl_name_with_space = False
+
+# If true, separate function names from parentheses with a space
+separate_fn_name_with_space = False
+
+# If a statement is wrapped to more than one line, than dangle the closing
+# parenthesis on it's own line
+dangle_parens = False
+
+# What character to use for bulleted lists
+bullet_char = u'*'
+
+# What character to use as punctuation after numerals in an enumerated list
+enum_char = u'.'
+
+# What style line endings to use in the output.
+line_ending = u'unix'
+
+# Format command names consistently as 'lower' or 'upper' case
+command_case = u'lower'
+
+# Specify structure for custom cmake functions
+additional_commands = {
+  "foo": {
+    "flags": [
+      "BAR",
+      "BAZ"
+    ],
+    "kwargs": {
+      "HEADERS": "*",
+      "DEPENDS": "*",
+      "SOURCES": "*"
+    }
+  }
+}