Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cmake modernize #8425

Merged
merged 39 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6378fb9
Initial .cmake-format file
lefticus Dec 8, 2020
dbc15da
Apply cmake-format across non-third-party projects
lefticus Dec 10, 2020
d1a7af0
Start moderizing through the use of project_options
lefticus Dec 10, 2020
9abbe80
CompilerFlags modernization
lefticus Dec 11, 2020
466a544
Add missing sanitizers.cmake file
lefticus Dec 11, 2020
12f191a
Fix some include path settings
lefticus Dec 11, 2020
d7ffe27
More cmake modernization updates
lefticus Dec 13, 2020
67f039d
Begin organization of Fortran CMake project modernization
lefticus Dec 14, 2020
30b8df1
Start to modernize Fortran CMake
lefticus Dec 15, 2020
b059d34
Reorganize Fortran CMake settings
lefticus Dec 15, 2020
d742df6
Add missing files
lefticus Dec 15, 2020
6b1fd63
Modernize SQLite/CMakeLists.txt
lefticus Dec 15, 2020
9b3c4b7
Merge branch 'develop' into cmake_modernize
lefticus Dec 15, 2020
7af593f
MSVC build fixes
lefticus Dec 15, 2020
9a874a6
Add /bigobj for Windows build
lefticus Dec 16, 2020
b44b787
Separate out FP flags for build options
lefticus Dec 16, 2020
38ddd74
Ensure that gtest packaging/install is disabled
lefticus Dec 16, 2020
8cd400a
Move header includes to after third_party is procesed
lefticus Dec 17, 2020
46e6d43
Make sure "enable_testing()" is executed at the top scope
lefticus Dec 17, 2020
56ce95e
MSVC Warning adjustments
lefticus Dec 17, 2020
50ca724
Reduce warnings on GCC
lefticus Dec 18, 2020
cd9d9a3
Fix non-virtual destructor issue
lefticus Dec 18, 2020
26b0c38
Revert "Reorganize Fortran CMake settings"
lefticus Dec 18, 2020
47d3328
Remove unused warning on MSVC
lefticus Dec 18, 2020
f0de393
Address some warnings on Windows with more warnings enabled
lefticus Dec 18, 2020
9407ee0
Add -Wno-unused-parameters for GCC on Test API
lefticus Dec 19, 2020
fde2e65
Merge branch 'develop' of github.com:NREL/EnergyPlus into cmake_moder…
lefticus Dec 19, 2020
54fc130
Merge remote-tracking branch 'origin/develop' into cmake_modernize
lefticus Dec 29, 2020
1579be0
Revert "Start to modernize Fortran CMake"
lefticus Dec 31, 2020
0354a59
Revert all Fortran CMake changes
lefticus Dec 31, 2020
71e6c28
Merge branch 'develop' into cmake_modernize
lefticus Feb 9, 2021
924c138
modernize cmake for convertinputformat
lefticus Feb 9, 2021
8b1935b
Address warnings on Windows with new more robust warning flags
lefticus Feb 10, 2021
e413ed4
Address warnings from GCC
lefticus Feb 10, 2021
86d0b6a
Merge branch 'develop' of github.com:NREL/EnergyPlus into cmake_moder…
lefticus Feb 10, 2021
efb9fb4
Fix a few warnings found with clang-8
lefticus Feb 11, 2021
5acc1f2
Fix IDF verification script and cleanup testfiles/CMakeLists.txt entries
Myoldmopar Feb 11, 2021
2101734
Merge branch 'develop' of github.com:NREL/EnergyPlus into cmake_moder…
lefticus Feb 11, 2021
fe37948
Saner line length/wrapping for cmake-format, applied across system
lefticus Feb 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 229 additions & 0 deletions .cmake-format.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
_help_parse: Options affecting listfile parsing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Standardized format. Nice. I wonder what all editors respect this file.

parse:
_help_additional_commands:
- Specify structure for custom cmake functions
additional_commands:
foo:
flags:
- BAR
- BAZ
kwargs:
HEADERS: '*'
SOURCES: '*'
DEPENDS: '*'
_help_override_spec:
- Override configurations per-command where available
override_spec: {}
_help_vartags:
- Specify variable tags.
vartags: []
_help_proptags:
- Specify property tags.
proptags: []
_help_format: Options affecting formatting.
format:
_help_disable:
- Disable formatting entirely, making cmake-format a no-op
disable: false
_help_line_width:
- How wide to allow formatted cmake files
line_width: 150
_help_tab_size:
- How many spaces to tab for indent
tab_size: 2
_help_max_subgroups_hwrap:
- If an argument group contains more than this many sub-groups
- (parg or kwarg groups) then force it to a vertical layout.
max_subgroups_hwrap: 2
_help_max_pargs_hwrap:
- If a positional argument group contains more than this many
- arguments, then force it to a vertical layout.
max_pargs_hwrap: 6
_help_max_rows_cmdline:
- If a cmdline positional group consumes more than this many
- lines without nesting, then invalidate the layout (and nest)
max_rows_cmdline: 2
_help_separate_ctrl_name_with_space:
- If true, separate flow control names from their parentheses
- with a space
separate_ctrl_name_with_space: false
_help_separate_fn_name_with_space:
- If true, separate function names from parentheses with a
- space
separate_fn_name_with_space: false
_help_dangle_parens:
- If a statement is wrapped to more than one line, than dangle
- the closing parenthesis on its own line.
dangle_parens: false
_help_dangle_align:
- If the trailing parenthesis must be 'dangled' on its on
- 'line, then align it to this reference: `prefix`: the start'
- 'of the statement, `prefix-indent`: the start of the'
- 'statement, plus one indentation level, `child`: align to'
- the column of the arguments
dangle_align: prefix
_help_min_prefix_chars:
- If the statement spelling length (including space and
- parenthesis) is smaller than this amount, then force reject
- nested layouts.
min_prefix_chars: 4
_help_max_prefix_chars:
- If the statement spelling length (including space and
- parenthesis) is larger than the tab width by more than this
- amount, then force reject un-nested layouts.
max_prefix_chars: 10
_help_max_lines_hwrap:
- If a candidate layout is wrapped horizontally but it exceeds
- this many lines, then reject the layout.
max_lines_hwrap: 2
_help_line_ending:
- What style line endings to use in the output.
line_ending: unix
_help_command_case:
- Format command names consistently as 'lower' or 'upper' case
command_case: canonical
_help_keyword_case:
- Format keywords consistently as 'lower' or 'upper' case
keyword_case: unchanged
_help_always_wrap:
- A list of command names which should always be wrapped
always_wrap: []
_help_enable_sort:
- If true, the argument lists which are known to be sortable
- will be sorted lexicographicall
enable_sort: true
_help_autosort:
- If true, the parsers may infer whether or not an argument
- list is sortable (without annotation).
autosort: false
_help_require_valid_layout:
- By default, if cmake-format cannot successfully fit
- everything into the desired linewidth it will apply the
- last, most agressive attempt that it made. If this flag is
- True, however, cmake-format will print error, exit with non-
- zero status code, and write-out nothing
require_valid_layout: false
_help_layout_passes:
- A dictionary mapping layout nodes to a list of wrap
- decisions. See the documentation for more information.
layout_passes: {}
_help_markup: Options affecting comment reflow and formatting.
markup:
_help_bullet_char:
- What character to use for bulleted lists
bullet_char: '*'
_help_enum_char:
- What character to use as punctuation after numerals in an
- enumerated list
enum_char: .
_help_first_comment_is_literal:
- If comment markup is enabled, don't reflow the first comment
- block in each listfile. Use this to preserve formatting of
- your copyright/license statements.
first_comment_is_literal: false
_help_literal_comment_pattern:
- If comment markup is enabled, don't reflow any comment block
- which matches this (regex) pattern. Default is `None`
- (disabled).
literal_comment_pattern: null
_help_fence_pattern:
- Regular expression to match preformat fences in comments
- default= ``r'^\s*([`~]{3}[`~]*)(.*)$'``
fence_pattern: ^\s*([`~]{3}[`~]*)(.*)$
_help_ruler_pattern:
- Regular expression to match rulers in comments default=
- '``r''^\s*[^\w\s]{3}.*[^\w\s]{3}$''``'
ruler_pattern: ^\s*[^\w\s]{3}.*[^\w\s]{3}$
_help_explicit_trailing_pattern:
- If a comment line matches starts with this pattern then it
- is explicitly a trailing comment for the preceeding
- argument. Default is '#<'
explicit_trailing_pattern: '#<'
_help_hashruler_min_length:
- 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
_help_canonicalize_hashrulers:
- If true, then insert a space between the first hash char and
- remaining hash chars in a hash ruler, and normalize its
- length to fill the column
canonicalize_hashrulers: true
_help_enable_markup:
- enable comment markup parsing and reflow
enable_markup: false
_help_lint: Options affecting the linter
lint:
_help_disabled_codes:
- a list of lint codes to disable
disabled_codes: []
_help_function_pattern:
- regular expression pattern describing valid function names
function_pattern: '[0-9a-z_]+'
_help_macro_pattern:
- regular expression pattern describing valid macro names
macro_pattern: '[0-9A-Z_]+'
_help_global_var_pattern:
- regular expression pattern describing valid names for
- variables with global (cache) scope
global_var_pattern: '[A-Z][0-9A-Z_]+'
_help_internal_var_pattern:
- regular expression pattern describing valid names for
- variables with global scope (but internal semantic)
internal_var_pattern: _[A-Z][0-9A-Z_]+
_help_local_var_pattern:
- regular expression pattern describing valid names for
- variables with local scope
local_var_pattern: '[a-z][a-z0-9_]+'
_help_private_var_pattern:
- regular expression pattern describing valid names for
- privatedirectory variables
private_var_pattern: _[0-9a-z_]+
_help_public_var_pattern:
- regular expression pattern describing valid names for public
- directory variables
public_var_pattern: '[A-Z][0-9A-Z_]+'
_help_argument_var_pattern:
- regular expression pattern describing valid names for
- function/macro arguments and loop variables.
argument_var_pattern: '[a-z][a-z0-9_]+'
_help_keyword_pattern:
- regular expression pattern describing valid names for
- keywords used in functions or macros
keyword_pattern: '[A-Z][0-9A-Z_]+'
_help_max_conditionals_custom_parser:
- In the heuristic for C0201, how many conditionals to match
- within a loop in before considering the loop a parser.
max_conditionals_custom_parser: 2
_help_min_statement_spacing:
- Require at least this many newlines between statements
min_statement_spacing: 1
_help_max_statement_spacing:
- Require no more than this many newlines between statements
max_statement_spacing: 2
max_returns: 6
max_branches: 12
max_arguments: 5
max_localvars: 15
max_statements: 50
_help_encode: Options affecting file encoding
encode:
_help_emit_byteorder_mark:
- If true, emit the unicode byte-order mark (BOM) at the start
- of the file
emit_byteorder_mark: false
_help_input_encoding:
- Specify the encoding of the input file. Defaults to utf-8
input_encoding: utf-8
_help_output_encoding:
- Specify the encoding of the output file. Defaults to utf-8.
- Note that cmake only claims to support utf-8 so be careful
- when using anything else
output_encoding: utf-8
_help_misc: Miscellaneous configurations options.
misc:
_help_per_command:
- A dictionary containing any per-command configuration
- overrides. Currently only `command_case` is supported.
per_command: {}
Loading