cbp2make
Makefile generation tool for Code::Blocks IDE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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::CToolChain ( const CString Alias)
explicit
CToolChain::CToolChain ( const CToolChain ToolChain)
CToolChain::~CToolChain ( void  )
virtual

Destroys toolchain.

Member Function Documentation

CToolChain::Alias ( void  ) const
inline

Name (alias) of the toolchain.

Returns
reference to CToolChain::m_Alias.
void CToolChain::Assign ( const CToolChain ToolChain)
virtual
void CToolChain::Clear ( void  )
virtual

Resets the toolchain to the initial state.

CBuildTool * CToolChain::CreateBuildTool ( const CBuildTool::ToolType  Type = CBuildTool::btOther)
CToolChain * CToolChain::CreateInstance ( void  ) const
virtual
CString& CToolChain::DefineSwitch ( void  )
inline
CAssembler * CToolChain::FindAssembler ( const CString FileExtension)
CBuildTool * CToolChain::FindBuildTool ( const CString FileExtension,
const std::vector< CBuildTool * > &  Tools 
)
protected
CBuildTool * CToolChain::FindBuildTool ( const CString FileExtension)
CBuildTool * CToolChain::FindBuildToolByName ( const CString ToolName)
CCompiler * CToolChain::FindCompiler ( const CString FileExtension)
void CToolChain::GatherBuildTools ( std::vector< CBuildTool * > &  Source,
std::vector< CBuildTool * > &  Target 
)
protected
void CToolChain::GatherBuildTools ( void  )
protected
CString& CToolChain::GenericSwitch ( void  )
inline
CBuildTool * CToolChain::GetBuildTool ( const size_t  index,
const CBuildTool::ToolType  Type = CBuildTool::btOther 
)
std::vector< CBuildTool * > & CToolChain::GetTools ( const CBuildTool::ToolType  Type = CBuildTool::btOther)
protected
CString& CToolChain::IncludeDirSwitch ( void  )
inline
CString& CToolChain::LibraryDirSwitch ( void  )
inline
CString& CToolChain::LinkLibrarySwitch ( void  )
inline
CToolChain::OS ( void  ) const
inline

Platform (operating system) to which this toolchain belongs.

Returns
reference to CToolChain::m_OS_Type.
void CToolChain::Read ( const TiXmlElement *  Root,
const CString Name,
CString Value 
)
protected
void CToolChain::Read ( const TiXmlElement *  Root,
const CString Name,
bool &  Value 
)
protected
void CToolChain::Read ( const TiXmlElement *  ToolChainRoot)
virtual

Reads the toolchain settings from an XML document.

Parameters
ToolChainRootan element of XML document.
void CToolChain::RemoveTool ( const CBuildTool BuildTool,
std::vector< CBuildTool * > &  Tools 
)
protected
void CToolChain::RemoveTool ( const CBuildTool BuildTool)
protected
bool CToolChain::RemoveToolByName ( const CString ToolName)
void CToolChain::Reset ( const CPlatform::OS_Type  OS)
virtual
void CToolChain::Show ( void  )
virtual

Prints the toolchain contents to standard output..

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

Reimplemented in CMSVCToolChain.

CString CToolChain::sw ( void  ) const
inline
CString CToolChain::sw ( const CString ASwitch) const
size_t CToolChain::ToolsCount ( const CBuildTool::ToolType  Type = CBuildTool::btOther)
void CToolChain::Write ( TiXmlElement *  Root,
const CString Name,
const CString Value 
)
protected
void CToolChain::Write ( TiXmlElement *  Root,
const CString Name,
const bool  Value 
)
protected
void CToolChain::Write ( TiXmlElement *  ToolChainRoot)
virtual

Writes the toolchain settings to an XML document.

Parameters
ToolChainRootan element of XML document.

Member Data Documentation

CToolChain::m_Alias
private

Name (alias) of the toolchain.

Alias identifies the toolchain and primarily used for toolchain lookup.

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

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