diff options
Diffstat (limited to '.cmake-format')
-rw-r--r-- | .cmake-format | 91 |
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 |