cbp2make
Makefile generation tool for Code::Blocks IDE
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
CToolChain Class Reference

Toolchain description. More...

#include <toolchains.h>

Inheritance diagram for CToolChain:
CBorlandToolChain CGNUToolChain CIntelToolChain CMSVCToolChain

Public Member Functions

CPlatform::OS_Type OS (void) const
 Platform (operating system) to which this toolchain belongs. More...
 
CString Alias (void) const
 Name (alias) of the toolchain. More...
 
CStringGenericSwitch (void)
 
CStringDefineSwitch (void)
 
CStringIncludeDirSwitch (void)
 
CStringLibraryDirSwitch (void)
 
CStringLinkLibrarySwitch (void)
 
CString sw (void) const
 
CString sw (const CString &ASwitch) const
 
CBuildToolCreateBuildTool (const CBuildTool::ToolType Type=CBuildTool::btOther)
 
virtual void Assign (const CToolChain &ToolChain)
 
virtual CToolChainCreateInstance (void) const
 
virtual void Clear (void)
 Resets the toolchain to the initial state. More...
 
virtual void Reset (const CPlatform::OS_Type OS)
 
virtual bool Supports (const CPlatform::OS_Type OS) const
 
virtual void Read (const TiXmlElement *ToolChainRoot)
 Reads the toolchain settings from an XML document. More...
 
virtual void Write (TiXmlElement *ToolChainRoot)
 Writes the toolchain settings to an XML document. More...
 
virtual void Show (void)
 Prints the toolchain contents to standard output.. More...
 
size_t ToolsCount (const CBuildTool::ToolType Type=CBuildTool::btOther)
 
CBuildToolGetBuildTool (const size_t index, const CBuildTool::ToolType Type=CBuildTool::btOther)
 
CBuildToolFindBuildToolByName (const CString &ToolName)
 
CBuildToolFindBuildTool (const CString &FileExtension)
 
CAssemblerFindAssembler (const CString &FileExtension)
 
CCompilerFindCompiler (const CString &FileExtension)
 
bool RemoveToolByName (const CString &ToolName)
 
 CToolChain (const CString &Alias)
 
 CToolChain (const CToolChain &ToolChain)
 
virtual ~CToolChain (void)
 Destroys toolchain. More...
 

Protected Member Functions

void GatherBuildTools (std::vector< CBuildTool *> &Source, std::vector< CBuildTool *> &Target)
 
void GatherBuildTools (void)
 
CBuildToolFindBuildTool (const CString &FileExtension, const std::vector< CBuildTool *> &Tools)
 
std::vector< CBuildTool * > & GetTools (const CBuildTool::ToolType Type=CBuildTool::btOther)
 
void RemoveTool (const CBuildTool *BuildTool, std::vector< CBuildTool *> &Tools)
 
void RemoveTool (const CBuildTool *BuildTool)
 
void Read (const TiXmlElement *Root, const CString &Name, CString &Value)
 
void Read (const TiXmlElement *Root, const CString &Name, bool &Value)
 
void Write (TiXmlElement *Root, const CString &Name, const CString &Value)
 
void Write (TiXmlElement *Root, const CString &Name, const bool Value)
 

Protected Attributes

CString m_GenericSwitch
 
CString m_DefineSwitch
 
CString m_IncludeDirSwitch
 
CString m_LibraryDirSwitch
 
CString m_LinkLibrarySwitch
 
std::vector< CBuildTool * > m_BuildTools
 
std::vector< CPreprocessor * > m_Preprocessors
 
std::vector< CAssembler * > m_Assemblers
 
std::vector< CCompiler * > m_Compilers
 
std::vector< CResourceCompiler * > m_ResourceCompilers
 
std::vector< CStaticLinker * > m_StaticLinkers
 
std::vector< CDynamicLinker * > m_DynamicLinkers
 
std::vector< CExecutableLinker * > m_ExecutableLinkers
 

Private Attributes

CPlatform::OS_Type m_Platform
 
CString m_Alias
 Name (alias) of the toolchain. More...
 

Detailed Description

Toolchain description.

Contains properties of a toolchain (a set of build tools).

Constructor & Destructor Documentation

◆ CToolChain() [1/2]

CToolChain::CToolChain ( const CString Alias)
explicit

◆ CToolChain() [2/2]

CToolChain::CToolChain ( const CToolChain ToolChain)

◆ ~CToolChain()

CToolChain::~CToolChain ( void  )
virtual

Destroys toolchain.

Member Function Documentation

◆ Alias()

CToolChain::Alias ( void  ) const
inline

Name (alias) of the toolchain.

Returns
reference to CToolChain::m_Alias.

◆ Assign()

void CToolChain::Assign ( const CToolChain ToolChain)
virtual

◆ Clear()

void CToolChain::Clear ( void  )
virtual

Resets the toolchain to the initial state.

◆ CreateBuildTool()

CBuildTool * CToolChain::CreateBuildTool ( const CBuildTool::ToolType  Type = CBuildTool::btOther)

◆ CreateInstance()

CToolChain * CToolChain::CreateInstance ( void  ) const
virtual

◆ DefineSwitch()

CString& CToolChain::DefineSwitch ( void  )
inline

◆ FindAssembler()

CAssembler * CToolChain::FindAssembler ( const CString FileExtension)

◆ FindBuildTool() [1/2]

CBuildTool * CToolChain::FindBuildTool ( const CString FileExtension,
const std::vector< CBuildTool *> &  Tools 
)
protected

◆ FindBuildTool() [2/2]

CBuildTool * CToolChain::FindBuildTool ( const CString FileExtension)

◆ FindBuildToolByName()

CBuildTool * CToolChain::FindBuildToolByName ( const CString ToolName)

◆ FindCompiler()

CCompiler * CToolChain::FindCompiler ( const CString FileExtension)

◆ GatherBuildTools() [1/2]

void CToolChain::GatherBuildTools ( std::vector< CBuildTool *> &  Source,
std::vector< CBuildTool *> &  Target 
)
protected

◆ GatherBuildTools() [2/2]

void CToolChain::GatherBuildTools ( void  )
protected

◆ GenericSwitch()

CString& CToolChain::GenericSwitch ( void  )
inline

◆ GetBuildTool()

CBuildTool * CToolChain::GetBuildTool ( const size_t  index,
const CBuildTool::ToolType  Type = CBuildTool::btOther 
)

◆ GetTools()

std::vector< CBuildTool * > & CToolChain::GetTools ( const CBuildTool::ToolType  Type = CBuildTool::btOther)
protected

◆ IncludeDirSwitch()

CString& CToolChain::IncludeDirSwitch ( void  )
inline

◆ LibraryDirSwitch()

CString& CToolChain::LibraryDirSwitch ( void  )
inline

◆ LinkLibrarySwitch()

CString& CToolChain::LinkLibrarySwitch ( void  )
inline

◆ OS()

CToolChain::OS ( void  ) const
inline

Platform (operating system) to which this toolchain belongs.

Returns
reference to CToolChain::m_OS_Type.

◆ Read() [1/3]

void CToolChain::Read ( const TiXmlElement *  Root,
const CString Name,
CString Value 
)
protected

◆ Read() [2/3]

void CToolChain::Read ( const TiXmlElement *  Root,
const CString Name,
bool &  Value 
)
protected

◆ Read() [3/3]

void CToolChain::Read ( const TiXmlElement *  ToolChainRoot)
virtual

Reads the toolchain settings from an XML document.

Parameters
ToolChainRootan element of XML document.

◆ RemoveTool() [1/2]

void CToolChain::RemoveTool ( const CBuildTool BuildTool,
std::vector< CBuildTool *> &  Tools 
)
protected

◆ RemoveTool() [2/2]

void CToolChain::RemoveTool ( const CBuildTool BuildTool)
protected

◆ RemoveToolByName()

bool CToolChain::RemoveToolByName ( const CString ToolName)

◆ Reset()

void CToolChain::Reset ( const CPlatform::OS_Type  OS)
virtual

◆ Show()

void CToolChain::Show ( void  )
virtual

Prints the toolchain contents to standard output..

◆ Supports()

bool CToolChain::Supports ( const CPlatform::OS_Type  OS) const
virtual

Reimplemented in CMSVCToolChain.

◆ sw() [1/2]

CString CToolChain::sw ( void  ) const
inline

◆ sw() [2/2]

CString CToolChain::sw ( const CString ASwitch) const

◆ ToolsCount()

size_t CToolChain::ToolsCount ( const CBuildTool::ToolType  Type = CBuildTool::btOther)

◆ Write() [1/3]

void CToolChain::Write ( TiXmlElement *  Root,
const CString Name,
const CString Value 
)
protected

◆ Write() [2/3]

void CToolChain::Write ( TiXmlElement *  Root,
const CString Name,
const bool  Value 
)
protected

◆ Write() [3/3]

void CToolChain::Write ( TiXmlElement *  ToolChainRoot)
virtual

Writes the toolchain settings to an XML document.

Parameters
ToolChainRootan element of XML document.

Member Data Documentation

◆ m_Alias

CToolChain::m_Alias
private

Name (alias) of the toolchain.

Alias identifies the toolchain and primarily used for toolchain lookup.

◆ m_Assemblers

std::vector<CAssembler *> CToolChain::m_Assemblers
protected

◆ m_BuildTools

std::vector<CBuildTool *> CToolChain::m_BuildTools
protected

◆ m_Compilers

std::vector<CCompiler *> CToolChain::m_Compilers
protected

◆ m_DefineSwitch

CString CToolChain::m_DefineSwitch
protected

◆ m_DynamicLinkers

std::vector<CDynamicLinker *> CToolChain::m_DynamicLinkers
protected

◆ m_ExecutableLinkers

std::vector<CExecutableLinker *> CToolChain::m_ExecutableLinkers
protected

◆ m_GenericSwitch

CString CToolChain::m_GenericSwitch
protected

◆ m_IncludeDirSwitch

CString CToolChain::m_IncludeDirSwitch
protected

◆ m_LibraryDirSwitch

CString CToolChain::m_LibraryDirSwitch
protected

◆ m_LinkLibrarySwitch

CString CToolChain::m_LinkLibrarySwitch
protected

◆ m_Platform

CPlatform::OS_Type CToolChain::m_Platform
private

◆ m_Preprocessors

std::vector<CPreprocessor *> CToolChain::m_Preprocessors
protected

◆ m_ResourceCompilers

std::vector<CResourceCompiler *> CToolChain::m_ResourceCompilers
protected

◆ m_StaticLinkers

std::vector<CStaticLinker *> CToolChain::m_StaticLinkers
protected

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