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

Groups SC::Build::CompileFlags and SC::Build::LinkFlags for a given SC::Build::Architecture. More...

#include <Build.h>

Classes

struct  VisualStudio
 Visual Studio platform toolset. More...
 

Public Types

enum class  Preset {
  None ,
  Debug ,
  DebugCoverage ,
  Release
}
 A pre-made preset with pre-configured set of options. More...
 

Public Member Functions

bool applyPreset (Preset newPreset, const Parameters &parameters)
 Set compile flags depending on the given Preset. More...
 

Static Public Member Functions

static constexpr StringView PresetToString (Preset preset)
 Convert Preset to StringView. More...
 
static constexpr StringView getStandardBuildDirectory ()
 

Public Attributes

VisualStudio visualStudio
 Customize VisualStudio platformToolset. More...
 
String name
 Configuration name. More...
 
String outputPath
 Exe path. If relative, it's appended to _Outputs relative to . More...
 
String intermediatesPath
 Obj path. If relative, it's appended to _Intermediates relative to . More...
 
CompileFlags compile
 Configuration compile flags. More...
 
LinkFlags link
 Configuration link flags. More...
 
Preset preset = Preset::None
 Build preset applied to this configuration. More...
 
Architecture::Type architecture = Architecture::Any
 Restrict this configuration to a specific architecture. More...
 

Detailed Description

Member Enumeration Documentation

◆ Preset

A pre-made preset with pre-configured set of options.

Enumerator
None 

Custom configuration.

Debug 

Debug configuration.

DebugCoverage 

Debug coverage configuration.

Release 

Release configuration.

Member Function Documentation

◆ applyPreset()

bool SC::Build::Configuration::applyPreset ( Preset  newPreset,
const Parameters parameters 
)

Set compile flags depending on the given Preset.

◆ PresetToString()

static constexpr StringView SC::Build::Configuration::PresetToString ( Preset  preset)
inlinestaticconstexpr

Convert Preset to StringView.

Member Data Documentation

◆ architecture

Architecture::Type SC::Build::Configuration::architecture = Architecture::Any

Restrict this configuration to a specific architecture.

◆ compile

CompileFlags SC::Build::Configuration::compile

Configuration compile flags.

◆ intermediatesPath

String SC::Build::Configuration::intermediatesPath

Obj path. If relative, it's appended to _Intermediates relative to .

◆ link

LinkFlags SC::Build::Configuration::link

Configuration link flags.

◆ name

String SC::Build::Configuration::name

◆ outputPath

String SC::Build::Configuration::outputPath

Exe path. If relative, it's appended to _Outputs relative to .

◆ preset

Preset SC::Build::Configuration::preset = Preset::None

Build preset applied to this configuration.

◆ visualStudio

VisualStudio SC::Build::Configuration::visualStudio

Customize VisualStudio platformToolset.


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