The compilation database acts in a similar way to the compilation database
(compile_commands.json) used by clang-tidy, i.e. it provides additional
information about the compilation of project files to help the language
server. The main piece of information provided by the PDLL compilation
database in this commit is the set of include directories used when processing
the input .pdll file. This allows for the server to properly process .pdll files
that use includes anchored by the include directories set up in the build system.
The structure of the textual form of a compilation database is a yaml file
containing documents of the following form:
--- !FileInfo: filepath: <string> - Absolute file path of the file. includes: <string> - Semi-colon delimited list of include directories.
This commit also adds support to cmake for automatically generating
a pdll_compile_commands.yml file at the top-level of the build
directory.
Construct from ?