CppStandard
Selects the C++ language standard to pass to the compiler.
Definition Config.hpp:29
@ Cpp23
ISO C++23 (-std=c++23 / CMAKE_CXX_STANDARD 23).
@ Cpp20
ISO C++20 (-std=c++20 / CMAKE_CXX_STANDARD 20). Default.
@ Cpp17
ISO C++17 (-std=c++17 / CMAKE_CXX_STANDARD 17).
TargetType
Describes the CMake target kind to generate for a build target.
Definition Config.hpp:19
@ Test
A test executable wired into CTest via a testing framework.
@ Executable
A standalone executable target (add_executable).
@ Library
A static or shared library target (add_library).
Fully parsed project configuration produced by CLI::parse.
Definition Config.hpp:59
std::vector< std::string > modules
Definition Config.hpp:65
std::string name
Project name (used as the CMake project name and directory).
Definition Config.hpp:62
std::vector< TargetType > targets
Build target kinds to generate.
Definition Config.hpp:67
ToolingConfig tooling
Optional tooling configuration.
Definition Config.hpp:68
std::string path
Absolute path to the generation directory.
Definition Config.hpp:60
CppStandard standard
C++ language standard. Defaults to C++20.
Definition Config.hpp:63