Sane C++ Libraries
C++ Platform Abstraction Libraries
SC::Build::Compile Struct Reference

Compilation switches (include paths, preprocessor defines, etc.) More...

#include <Build.h>

Classes

struct  NameDescription
 Two StringViews representing name and description. More...
 

Public Types

enum  Type {
  includePaths = 0 ,
  preprocessorDefines ,
  optimizationLevel ,
  enableASAN ,
  enableRTTI ,
  enableExceptions ,
  enableStdCpp ,
  enableCoverage
}
 
template<Type E, typename T >
using Tag = TaggedType< Type, E, T >
 
using FieldsTypes = TypeTraits::TypeList< Tag< includePaths, Vector< String > >, Tag< preprocessorDefines, Vector< String > >, Tag< optimizationLevel, Optimization::Type >, Tag< enableASAN, bool >, Tag< enableRTTI, bool >, Tag< enableExceptions, bool >, Tag< enableCoverage, bool >, Tag< enableStdCpp, bool > >
 
using Union = TaggedUnion< Compile >
 

Static Public Member Functions

static constexpr NameDescription typeToString (Type type)
 Get name and description from Compile::Type. More...
 

Detailed Description

Compilation switches (include paths, preprocessor defines, etc.)

Member Enumeration Documentation

◆ Type

Enumerator
includePaths 

Include paths.

preprocessorDefines 

Preprocessor defines.

optimizationLevel 

Optimization Level (debug / release)

enableASAN 

Address Sanitizer.

enableRTTI 

Runtime Type Identification.

enableExceptions 

C++ Exceptions.

enableStdCpp 

C++ Standard Library.

enableCoverage 

Enables code coverage instrumentation.

Member Function Documentation

◆ typeToString()

static constexpr NameDescription SC::Build::Compile::typeToString ( Type  type)
inlinestaticconstexpr

Get name and description from Compile::Type.


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