/*
    cbp2make : Makefile generation tool for the Code::Blocks IDE
    Copyright (C) 2010-2013 Mirai Computing (mirai.computing@gmail.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/*!
  \file cbbuildmgr.h
  \brief Build manager for Code::Blocks projects.
*/

/*!
  \file cbbuildmgr.cpp
  \brief Build manager for Code::Blocks projects.
*/

/*!
  \class CCodeBlocksBuildManager
  \brief Build manager for Code::Blocks projects.

  Manages workspace and project settings and starts makefile generation process.
*/

/*!
  \var CCodeBlocksBuildManager::m_Workspace
  \brief Code::Blocks workspace object.
*/

/*!
  \var CCodeBlocksBuildManager::m_Project
  \brief Code::Blocks project object.
*/

/*!
  \var CCodeBlocksBuildManager::m_Config
  \brief Build configuration.

  Includes installation-specific parametes such as compilers, toolchains and global variables.
*/

/*!
  \var CCodeBlocksBuildManager::m_ProjectLoaded
  \brief Indicated that a Code::Blocks project was loaded.

  Build manager CCodeBlocksBuildManager can load both
  Code::Blocks workspace (.workspace) and Code::Blocks project (.cbp) files.
  A flag is required to tell if a file is loaded and what kind of file it is.
*/

/*!
  \var CCodeBlocksBuildManager::m_WorkspaceLoaded
  \brief Indicates that a Code::Blocks workspace was loaded.

  Build manager CCodeBlocksBuildManager can load both
  Code::Blocks workspace (.workspace) and Code::Blocks project (.cbp) files.
  A flag is required to tell if a file is loaded and what kind of file it is.
*/

/* !
  \var CCodeBlocksBuildManager::
  \brief .
*/

/*!
  \fn CCodeBlocksBuildManager::Platforms(void)
  \brief Returns reference to the set of platforms in build configuration.
  \return reference to CCodeBlocksBuildManager::m_Platforms.
*/

/*!
  \fn CCodeBlocksBuildManager::ToolChains(void)
  \brief Returns reference to the set of toolchains in build configuration.
  \return reference to CCodeBlocksBuildManager::m_ToolChains.
*/

/*!
  \fn CCodeBlocksBuildManager::Config(void)
  \brief Returns reference to the build configuration.
  \return reference to CCodeBlocksBuildManager::m_Config.
*/

/*!
  \fn CCodeBlocksBuildManager::Clear(void)
  \brief Resets build manager to the initial state.
*/

/*!
  \fn CCodeBlocksBuildManager::LoadProjectOrWorkspace(const CString& FileName)
  \brief Loads a workspace or a project file whichever specified by \a FileName.
  \param FileName a file name of a project or workspace.

  \return \a true if the project or workspace is successfully loaded, \a false otherwise.
*/

/*!
  \fn CCodeBlocksBuildManager::Show(void)
  \brief Prints project or workspace contents to standard output.
*/

/*!
  \fn CCodeBlocksBuildManager::GenerateMakefile(const CString& FileName)
  \brief Generates makefile text and writes it to the file specified by \a FileName.
  \param FileName a file name for makefile.

  Build manager does not generate makefile text by itself,
  makefile for workspace is generated by CCodeBlocksWorkspace and
  makefiles for individual projects in a workspace are generated by CCodeBlocksProject.
*/

/*!
  \fn CCodeBlocksBuildManager::CCodeBlocksBuildManager(void)
  \brief Creates build manager.
*/

/*!
  \fn CCodeBlocksBuildManager::~CCodeBlocksBuildManager(void)
  \brief Destroys build manager.
*/

/* !
  \fn CCodeBlocksBuildManager::
  \brief .
  \param .
  \return .
*/

//------------------------------------------------------------------------------
