hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
IRBuildConfig::Builder Struct Reference

#include <IR.h>

Public Member Functions

 Builder ()=default
 
BuildersetBuildType (BuildType buildType)
 
BuildersetBuildMode (BuildMode buildMode)
 
BuildersetUseObjectLinker (UseObjectLinker useObjectLinker)
 
BuildersetBuildPlatform (const yoi::wstr &buildPlatform)
 
BuildersetBuildArch (const yoi::wstr &buildArch)
 
BuildersetPreserveIntermediateFiles (bool preserveIntermediateFiles)
 
BuilderaddSearchPath (const yoi::wstr &searchPath)
 
BuildersetSearchPaths (const yoi::vec< yoi::wstr > &searchPaths)
 
BuildersetMarco (const yoi::wstr &name, const yoi::wstr &value)
 
BuildersetAdditionalLinkingFiles (const yoi::vec< yoi::wstr > &additionalLinkingFiles)
 
BuildersetBuildCachePath (const yoi::wstr &buildCachePath)
 
BuildersetImmediatelyClearupCache (bool immediatelyClearupCache)
 
std::shared_ptr< IRBuildConfigyield ()
 

Public Attributes

BuildType buildType {BuildType::executable}
 
BuildMode buildMode {BuildMode::debug}
 
UseObjectLinker useObjectLinker {UseObjectLinker::cc}
 
yoi::wstr buildPlatform
 
yoi::wstr buildArch
 
bool preserveIntermediateFiles {false}
 
yoi::vec< yoi::wstrsearchPaths {L""}
 
yoi::vec< yoi::wstradditionalLinkingFiles
 
std::map< yoi::wstr, yoi::wstrmarcos
 
yoi::wstr buildCachePath
 
bool immediatelyClearupCache {true}
 

Detailed Description

Definition at line 33 of file IR.h.

Constructor & Destructor Documentation

◆ Builder()

Builder ( )
default

Member Function Documentation

◆ addSearchPath()

IRBuildConfig::Builder & addSearchPath ( const yoi::wstr searchPath)

Definition at line 1065 of file IR.cpp.

◆ setAdditionalLinkingFiles()

IRBuildConfig::Builder & setAdditionalLinkingFiles ( const yoi::vec< yoi::wstr > &  additionalLinkingFiles)

Definition at line 1546 of file IR.cpp.

References IRBuildConfig::Builder::additionalLinkingFiles.

Referenced by main().

Here is the caller graph for this function:

◆ setBuildArch()

IRBuildConfig::Builder & setBuildArch ( const yoi::wstr buildArch)

Definition at line 900 of file IR.cpp.

References IRBuildConfig::buildArch.

◆ setBuildCachePath()

IRBuildConfig::Builder & setBuildCachePath ( const yoi::wstr buildCachePath)

Definition at line 1613 of file IR.cpp.

References IRBuildConfig::Builder::buildCachePath.

Referenced by main().

Here is the caller graph for this function:

◆ setBuildMode()

IRBuildConfig::Builder & setBuildMode ( BuildMode  buildMode)

Definition at line 919 of file IR.cpp.

References IRBuildConfig::buildMode.

◆ setBuildPlatform()

IRBuildConfig::Builder & setBuildPlatform ( const yoi::wstr buildPlatform)

Definition at line 895 of file IR.cpp.

References IRBuildConfig::buildPlatform.

◆ setBuildType()

IRBuildConfig::Builder & setBuildType ( BuildType  buildType)

Definition at line 890 of file IR.cpp.

References IRBuildConfig::Builder::buildType.

◆ setImmediatelyClearupCache()

IRBuildConfig::Builder & setImmediatelyClearupCache ( bool  immediatelyClearupCache)

Definition at line 1620 of file IR.cpp.

References IRBuildConfig::immediatelyClearupCache.

◆ setMarco()

IRBuildConfig::Builder & setMarco ( const yoi::wstr name,
const yoi::wstr value 
)

Definition at line 1476 of file IR.cpp.

References IROperand::value.

Referenced by main().

Here is the caller graph for this function:

◆ setPreserveIntermediateFiles()

IRBuildConfig::Builder & setPreserveIntermediateFiles ( bool  preserveIntermediateFiles)

Definition at line 929 of file IR.cpp.

References IRBuildConfig::preserveIntermediateFiles.

◆ setSearchPaths()

IRBuildConfig::Builder & setSearchPaths ( const yoi::vec< yoi::wstr > &  searchPaths)

Definition at line 1060 of file IR.cpp.

Referenced by main().

Here is the caller graph for this function:

◆ setUseObjectLinker()

IRBuildConfig::Builder & setUseObjectLinker ( UseObjectLinker  useObjectLinker)

Definition at line 924 of file IR.cpp.

References IRBuildConfig::useObjectLinker.

◆ yield()

Member Data Documentation

◆ additionalLinkingFiles

yoi::vec<yoi::wstr> additionalLinkingFiles

Definition at line 41 of file IR.h.

Referenced by IRBuildConfig::Builder::setAdditionalLinkingFiles().

◆ buildArch

yoi::wstr buildArch

Definition at line 38 of file IR.h.

◆ buildCachePath

yoi::wstr buildCachePath
Initial value:
{
(std::filesystem::temp_directory_path() /
(L"zyy-" + std::to_wstring(std::chrono::system_clock::now().time_since_epoch().count()))).wstring()}

Definition at line 43 of file IR.h.

Referenced by IRBuildConfig::Builder::setBuildCachePath().

◆ buildMode

Definition at line 35 of file IR.h.

◆ buildPlatform

yoi::wstr buildPlatform

Definition at line 37 of file IR.h.

◆ buildType

Definition at line 34 of file IR.h.

Referenced by IRBuildConfig::Builder::setBuildType().

◆ immediatelyClearupCache

bool immediatelyClearupCache {true}

Definition at line 46 of file IR.h.

◆ marcos

std::map<yoi::wstr, yoi::wstr> marcos

Definition at line 42 of file IR.h.

◆ preserveIntermediateFiles

bool preserveIntermediateFiles {false}

Definition at line 39 of file IR.h.

◆ searchPaths

yoi::vec<yoi::wstr> searchPaths {L""}

Definition at line 40 of file IR.h.

◆ useObjectLinker

Definition at line 36 of file IR.h.


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