CPGen
C++ project generator
Loading...
Searching...
No Matches
Public Attributes | List of all members
ProjectConfig Struct Reference

Fully parsed project configuration produced by CLI::parse. More...

#include <Config.hpp>

Collaboration diagram for ProjectConfig:
Collaboration graph
[legend]

Public Attributes

std::string path
 Absolute path to the generation directory.
 
std::string name
 Project name (used as the CMake project name and directory).
 
CppStandard standard
 C++ language standard. Defaults to C++20.
 
std::vector< std::string > modules
 
std::vector< TargetTypetargets
 Build target kinds to generate.
 
ToolingConfig tooling
 Optional tooling configuration.
 

Detailed Description

Fully parsed project configuration produced by CLI::parse.

This struct is the primary input to ProjectResolver::resolve and drives the entire code-generation pipeline.

Member Data Documentation

◆ modules

std::vector<std::string> ProjectConfig::modules

Dependency module identifiers (e.g. "gtest", "spdlog").

◆ name

std::string ProjectConfig::name

Project name (used as the CMake project name and directory).

◆ path

std::string ProjectConfig::path

Absolute path to the generation directory.

◆ standard

CppStandard ProjectConfig::standard
Initial value:
=
@ Cpp20
ISO C++20 (-std=c++20 / CMAKE_CXX_STANDARD 20). Default.

C++ language standard. Defaults to C++20.

◆ targets

std::vector<TargetType> ProjectConfig::targets

Build target kinds to generate.

◆ tooling

ToolingConfig ProjectConfig::tooling

Optional tooling configuration.


The documentation for this struct was generated from the following file: