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 {
  Debug ,
  DebugCoverage ,
  Release
}
 A pre-made preset with pre-configured set of options. More...
 

Public Member Functions

bool applyPreset (const Project &project, 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...
 
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
Debug 

Compile for debug, enabling ASAN (if not set on project and never on VStudio)

DebugCoverage 

Compile for debug, enabling coverage (sets ClangCL for VStudio)

Release 

Compile for release.

Member Function Documentation

◆ applyPreset()

bool SC::Build::Configuration::applyPreset ( const Project project,
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 .

◆ visualStudio

VisualStudio SC::Build::Configuration::visualStudio

Customize VisualStudio platformToolset.


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