summaryrefslogtreecommitdiff
path: root/.cmake-format
diff options
context:
space:
mode:
Diffstat (limited to '.cmake-format')
-rw-r--r--.cmake-format91
1 files changed, 91 insertions, 0 deletions
diff --git a/.cmake-format b/.cmake-format
new file mode 100644
index 0000000000..abd1e46cb8
--- /dev/null
+++ b/.cmake-format
@@ -0,0 +1,91 @@
+
+# --------------------------
+# General Formatting Options
+# --------------------------
+# How wide to allow formatted cmake files
+line_width = 140
+
+# How many spaces to tab for indent
+tab_size = 4
+
+# If arglists are longer than this, break them always
+max_subargs_per_line = 3
+
+# 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 = True
+
+# If the statement spelling length (including space and parenthesis is larger
+# than the tab width by more than this amoung, then force reject un-nested
+# layouts.
+max_prefix_chars = 2
+
+# If a candidate layout is wrapped horizontally but it exceeds this many lines,
+# then reject the layout.
+max_lines_hwrap = 8
+
+# 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'canonical'
+
+# Format keywords consistently as 'lower' or 'upper' case
+keyword_case = u'unchanged'
+
+# Specify structure for custom cmake functions
+additional_commands = {
+ "add_node_module": {
+ "kwargs": {
+ "INSTALL_PATH": "*",
+ "NAN_VERSION": "*",
+ "EXCLUDE_NODE_ABIS": "*"
+ }
+ },
+ "target_compile_definitions": {
+ "kwargs": {
+ "PRIVATE": "*",
+ "PUBLIC": "*"
+ }
+ },
+ "target_sources": {
+ "kwargs": {
+ "INTERFACE": "*",
+ "PRIVATE": "*",
+ "PUBLIC": "*"
+ }
+ }
+}
+
+# A list of command names which should always be wrapped
+always_wrap = [
+ "add_executable",
+ "add_library",
+ "set_source_files_properties",
+ "target_compile_definitions",
+ "target_include_directories",
+ "target_link_libraries",
+ "target_sources"
+]
+
+# Specify the order of wrapping algorithms during successive reflow attempts
+algorithm_order = [0, 1, 2, 3, 4]
+
+# If true, the argument lists which are known to be sortable will be sorted
+# lexicographicall
+enable_sort = True
+
+# If true, the parsers may infer whether or not an argument list is sortable
+# (without annotation).
+autosort = True
+
+# If a comment line starts with at least this many consecutive hash characters,
+# then don't lstrip() them off. This allows for lazy hash rulers where the first
+# hash char is not separated by space
+hashruler_min_length = 10