cbp2make
Makefile generation tool for Code::Blocks IDE
cbbuildcfg.h
Go to the documentation of this file.
1 /*
2  cbp2make : Makefile generation tool for the Code::Blocks IDE
3  Copyright (C) 2010-2013 Mirai Computing (mirai.computing@gmail.com)
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 //------------------------------------------------------------------------------
20 #ifndef CBBUILDCFG_H
21 #define CBBUILDCFG_H
22 //------------------------------------------------------------------------------
23 #include "stlstrings.h"
24 #include "platforms.h"
25 #include "toolchains.h"
26 #include "cbglobalvar.h"
27 #include "cbhelper.h"
28 //------------------------------------------------------------------------------
29 
30 class TiXmlElement;
31 
33 {
34  private:
51  bool m_BeQuiet;
53  public:
54  CPlatformSet& Platforms(void) { return m_Platforms; }
57  CStringList& Targets(void) { return m_Targets; }
59  int& TargetNameCase(void) { return m_TargetNameCase; }
60  int& MacroVariableCase(void) { return m_MacroVariableCase; }
61  int& QuotePathMode(void) { return m_QuotePathMode; }
63  bool& FlatObjectNames(void) { return m_FlatObjectNames; }
64  bool& FlatObjectPaths(void) { return m_FlatObjectPaths; }
65  bool& MultilineObjects(void) { return m_MultilineObjects; }
66  bool& MultilineOptions(void) { return m_MultilineOptions; }
70  bool& BeQuiet(void) { return m_BeQuiet; }
71  bool& BeVerbose(void) { return m_BeVerbose; }
72  public:
73  void Clear(void);
74  bool Load(const CString& FileName);
75  bool Save(const CString& FileName);
76  void Show(void);
77  public:
80 };
81 
82 #endif
83 //------------------------------------------------------------------------------
bool Save(const CString &FileName)
Saves the build configuration to a file specified by FileName.
Definition: cbbuildcfg.cpp:114
CString m_DefaultOptions
Definition: cbbuildcfg.h:39
CPlatformSet & Platforms(void)
Returns reference to the set of platforms in build configuration.
Definition: cbbuildcfg.h:54
bool m_FlatObjectPaths
Controls the way of object file names generation.
Definition: cbbuildcfg.h:45
bool & FlatObjectNames(void)
Controls the way of object file names generation.
Definition: cbbuildcfg.h:63
bool & IncludeDependencies(void)
Definition: cbbuildcfg.h:67
bool & MultilineObjects(void)
Allows generation of multi-line object file lists.
Definition: cbbuildcfg.h:65
int & TargetNameCase(void)
Definition: cbbuildcfg.h:59
CString & DefaultOptions(void)
Definition: cbbuildcfg.h:58
Manages global compiler variables configuration.
Definition: cbglobalvar.h:94
bool & BeQuiet(void)
Definition: cbbuildcfg.h:70
CCodeBlocksBuildConfig(void)
Creates build configuration.
Definition: cbbuildcfg.cpp:27
int & MacroVariableCase(void)
Definition: cbbuildcfg.h:60
Definition: stlstrings.h:98
bool m_BeQuiet
Definition: cbbuildcfg.h:51
CStringList & Targets(void)
Definition: cbbuildcfg.h:57
Manages a set of platforms.
Definition: platforms.h:128
bool & BeVerbose(void)
Definition: cbbuildcfg.h:71
bool & KeepObjectDirectories(void)
Definition: cbbuildcfg.h:68
bool & KeepOutputDirectories(void)
Definition: cbbuildcfg.h:69
bool & NumericToolchainSuffix(void)
Definition: cbbuildcfg.h:62
bool m_MultilineOptions
Allows generation of multi-line option lists.
Definition: cbbuildcfg.h:47
Definition: stlstrings.h:32
CPlatformSet m_Platforms
Configuration of a set of platforms.
Definition: cbbuildcfg.h:35
CGlobalVariableConfig & GlobalVariables(void)
Returns reference to the set of global variables in build configuration.
Definition: cbbuildcfg.h:56
int m_TargetNameCase
Definition: cbbuildcfg.h:40
bool m_KeepOutputDirectories
Definition: cbbuildcfg.h:50
Build configuration.
Definition: cbbuildcfg.h:32
~CCodeBlocksBuildConfig(void)
Destroys build configuration.
Definition: cbbuildcfg.cpp:32
Auxiliary functions for strings processing.
bool m_IncludeDependencies
Definition: cbbuildcfg.h:48
bool m_MultilineObjects
Allows generation of multi-line object file lists.
Definition: cbbuildcfg.h:46
Toolchain description.
CGlobalVariableConfig m_GlobalVariables
Configuration of a set of global variables.
Definition: cbbuildcfg.h:37
bool Load(const CString &FileName)
Loads a build configuration from a file specified by FileName.
Definition: cbbuildcfg.cpp:59
bool m_FlatObjectNames
Controls the way of object file names generation.
Definition: cbbuildcfg.h:44
CToolChainSet m_ToolChains
Configuration of a set of build utilities.
Definition: cbbuildcfg.h:36
Manages a set of toolchains.
Definition: toolchains.h:146
int m_MacroVariableCase
Definition: cbbuildcfg.h:41
bool m_KeepObjectDirectories
Definition: cbbuildcfg.h:49
void Clear(void)
Resets the build configuration to the initial state.
Definition: cbbuildcfg.cpp:37
void Show(void)
Prints build configuration contents to standard output.
Definition: cbbuildcfg.cpp:139
CStringList m_Targets
Definition: cbbuildcfg.h:38
bool m_BeVerbose
Definition: cbbuildcfg.h:52
CToolChainSet & ToolChains(void)
Returns reference to the set of toolchains in build configuration.
Definition: cbbuildcfg.h:55
int & QuotePathMode(void)
Definition: cbbuildcfg.h:61
Description of global compiler variables.
int m_QuotePathMode
Definition: cbbuildcfg.h:42
bool & MultilineOptions(void)
Allows generation of multi-line option lists.
Definition: cbbuildcfg.h:66
bool & FlatObjectPaths(void)
Controls the way of object file names generation.
Definition: cbbuildcfg.h:64
bool m_NumericToolchainSuffix
Definition: cbbuildcfg.h:43
Platform / Operating System specific functions.