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...
 
CString & GenericSwitch (void)
 
CString & DefineSwitch (void)
 
CString & IncludeDirSwitch (void)
 
CString & LibraryDirSwitch (void)
 
CString & LinkLibrarySwitch (void)
 
CString sw (void) const
 
CString sw (const CString &ASwitch) const
 
CBuildTool * CreateBuildTool (const CBuildTool::ToolType Type=CBuildTool::btOther)
 
virtual void Assign (const CToolChain &ToolChain)
 
virtual CToolChain * CreateInstance (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)
 
CBuildTool * GetBuildTool (const size_t index, const CBuildTool::ToolType Type=CBuildTool::btOther)
 
CBuildTool * FindBuildToolByName (const CString &ToolName)
 
CBuildTool * FindBuildTool (const CString &FileExtension)
 
CAssembler * FindAssembler (const CString &FileExtension)
 
CCompiler * FindCompiler (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)
 
CBuildTool * FindBuildTool (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: