Gersemi Versions Save

A formatter to make your CMake code the real treasure

0.12.1

1 month ago

Fixed

  • improve find_package formatting around REQUIRED keyword (#20)

0.12.0

1 month ago

Added

  • support for different kinds of indentation, either specific number of spaces or tabs through --indent argument (examples: --indent=2 or --indent=tabs) or indent entry in .gersemirc (examples: indent: 2 or indent: tabs) (#15)
  • support for hints in custom command definition for specialized formatting, currently supported are command_line and pairs

Changed

  • formatting of install command will now correctly recognize sections like RUNTIME, ARCHIVE, FILE_SET etc. (#19)

Fixed

  • inconsistent formatting of add_library (#17)
  • edge cases of comments present in COMMAND argument of add_custom_command and similar commands
  • improve README and help about heuristic used in favour-inlining style (#18)

0.11.1

2 months ago

Added

  • support for new keywords in native commands and new commands available in CMake 3.29

Fixed

  • fix issue with comments in COMMAND argument of add_custom_command (#16)

0.11.0

4 months ago

Added

  • Number of workers spawned for formatting multiple files can be changed with -w/--workers. By default it will be number of CPUs available in the system but limited to 60 for Windows machines due to this.

0.10.0

4 months ago

Added

  • configuration schema that can be used with yaml LSP server, see: JSON Schema and #12
  • yaml header linking to configuration schema in configuration produced by --default-config
  • support for Python 3.12

Fixed

  • meaningless but syntactically valid target_link_libraries with just library name won't crash gersemi

0.9.4

5 months ago

Added

  • support for new keywords in native commands available in CMake 3.28

0.9.3

7 months ago

Fixed

  • warn about conflicting definitions for macros and functions, make usage of conflicting definitions consistent and deterministic (#11)

0.9.2

10 months ago

Changed

  • allow PyYAML version 6 as a dependency

0.9.1

11 months ago

Added

  • support for new keywords in native commands available in CMake 3.27

0.9.0

1 year ago

Added

  • Support for alternative style that favours list expansion for multi-value arguments (keyworded or standalone) through --list-expansion=favour-expansion command line argument or list_expansion: favour-expansion entry in .gersemirc. The explanation of the new style is available in the README. The original formatting style will be still the default one but it can be set explicitly through --list-expansion=favour-inlining or list_expansion: favour-inlining.