Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 1.98 KB

configuration.rst

File metadata and controls

49 lines (36 loc) · 1.98 KB

Configuration

The different tools utilize a common parsing core and so share a common configuration system and in fact can share the same configuration file(s).

The tools accept configuration files in yaml, json, or python format.

Note

In order to read your configuration files in YAML format, the tools require the pyyaml python package to be installed. This dependency is not enforced by default during installation since this is an optional feature. It can be enabled by installing with a command like pip install cmakelang[YAML]. Or you can install pyyaml manually.

You may specify a path to one or more configuration files with the --config-file (--config-files) command line option. Otherwise, the tools will search the ancestry of each source file looking for a configuration file to use. If no configuration file is found it will use sensible defaults.

Automatically detected configuration files may have any name that matches \.?cmake-format(.yaml|.json|.py).

If you'd like to create a new configuration file, cmake-format can help by dumping out the default configuration in your preferred format. You can run cmake-format --dump-config [python|json|yaml] to print the default configuration to stdout and use that as a starting point.

Warning

cmake-format will detect and load an automatic configuration file, even when executing --dump-config. This is so that you can debug the active configuration from a certain location in your tree. If you have a corrupt / un-parsable configuration file in an automatic location --dump-config may fail. You can always cd to a clean location (/ or /tmp) and execute --dump-config to get a default configuration.

Here is an example python-style configuration file with the default options and help-text. Some detailed explanation and examples can be found at :ref:`configopts`.

.. literalinclude:: bits/configbits.py