siplasplas
A library for C++ reflection and introspection
|
A C++ API to configure and build CMake projects. More...
Classes | |
class | cpp::CMakeProject |
Configures and builds an existing CMake project. More... | |
class | cpp::CMakeTarget |
Represents a CMake target being watched by a project. More... | |
A C++ API to configure and build CMake projects.
siplasplas-cmake provides a simple API to work with CMake projects. It's not a CMake instrospection API but an API to configure and build existing CMake projects with runtime C++ compilation in mind.
The API has two different roles:
cmake <source dir>
and cmake --build <binary dir> --target <target>
commands.CMake targets can be described by a set of associated properties (Name, source files, include directories, etc. See CMakeTarget::Metadata), or by loading that properties directly from a JSON file (See CMakeTarget::Metadata::loadFromFile()).
The API uses signals to notify events related to the CMake projects, such as a finished build, a build triggered by a source file change, etc.