siplasplas
A library for C++ reflection and introspection
Cmake

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...
 

Detailed Description

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 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.