Code::Blocks  SVN r11506
compileoptionsbase.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
3  * http://www.gnu.org/licenses/lgpl-3.0.html
4  */
5 
6 #ifndef COMPILEOPTIONSBASE_H
7 #define COMPILEOPTIONSBASE_H
8 
9 #include "globals.h"
10 #include <wx/hashmap.h>
11 
13 
29 {
30  public:
32  virtual ~CompileOptionsBase();
33 
34  virtual void AddPlatform(int platform);
35  virtual void RemovePlatform(int platform);
36  virtual void SetPlatforms(int platforms);
37  virtual int GetPlatforms() const;
38  virtual bool SupportsCurrentPlatform() const;
39 
40  virtual void SetLinkerOptions(const wxArrayString& linkerOpts);
41  virtual const wxArrayString& GetLinkerOptions() const;
42  virtual void AddLinkerOption(const wxString& option);
43  virtual void ReplaceLinkerOption(const wxString& option, const wxString& new_option);
44  virtual void RemoveLinkerOption(const wxString& option);
45 
46  virtual void SetLinkLibs(const wxArrayString& linkLibs);
47  virtual const wxArrayString& GetLinkLibs() const;
48  virtual void AddLinkLib(const wxString& option);
49  virtual void ReplaceLinkLib(const wxString& option, const wxString& new_option);
50  virtual void RemoveLinkLib(const wxString& option);
51 
52  virtual void SetCompilerOptions(const wxArrayString& compilerOpts);
53  virtual const wxArrayString& GetCompilerOptions() const;
54  virtual void AddCompilerOption(const wxString& option);
55  virtual void ReplaceCompilerOption(const wxString& option, const wxString& new_option);
56  virtual void RemoveCompilerOption(const wxString& option);
57 
58  virtual void SetResourceCompilerOptions(const wxArrayString& resourceCompilerOpts);
59  virtual const wxArrayString& GetResourceCompilerOptions() const;
60  virtual void AddResourceCompilerOption(const wxString& option);
61  virtual void ReplaceResourceCompilerOption(const wxString& option, const wxString& new_option);
62  virtual void RemoveResourceCompilerOption(const wxString& option);
63 
64  virtual void SetIncludeDirs(const wxArrayString& includeDirs);
65  virtual const wxArrayString& GetIncludeDirs() const;
66  virtual void AddIncludeDir(const wxString& option);
67  virtual void ReplaceIncludeDir(const wxString& option, const wxString& new_option);
68  virtual void RemoveIncludeDir(const wxString& option);
69 
70  virtual void SetResourceIncludeDirs(const wxArrayString& resIncludeDirs);
71  virtual const wxArrayString& GetResourceIncludeDirs() const;
72  virtual void AddResourceIncludeDir(const wxString& option);
73  virtual void ReplaceResourceIncludeDir(const wxString& option, const wxString& new_option);
74  virtual void RemoveResourceIncludeDir(const wxString& option);
75 
76  virtual void SetLibDirs(const wxArrayString& libDirs);
77  virtual const wxArrayString& GetLibDirs() const;
78  virtual void AddLibDir(const wxString& option);
79  virtual void ReplaceLibDir(const wxString& option, const wxString& new_option);
80  virtual void RemoveLibDir(const wxString& option);
81 
82  virtual void SetCommandsBeforeBuild(const wxArrayString& commands);
83  virtual const wxArrayString& GetCommandsBeforeBuild() const;
84  virtual void AddCommandsBeforeBuild(const wxString& command);
85  virtual void RemoveCommandsBeforeBuild(const wxString& command);
86 
87  virtual void SetCommandsAfterBuild(const wxArrayString& commands);
88  virtual const wxArrayString& GetCommandsAfterBuild() const;
89  virtual void AddCommandsAfterBuild(const wxString& command);
90  virtual void RemoveCommandsAfterBuild(const wxString& command);
91 
92  virtual void SetBuildScripts(const wxArrayString& scripts);
93  virtual const wxArrayString& GetBuildScripts() const;
94  virtual void AddBuildScript(const wxString& script);
95  virtual void RemoveBuildScript(const wxString& script);
96 
97  virtual bool GetModified() const;
98  virtual void SetModified(bool modified);
99 
100  virtual bool GetAlwaysRunPostBuildSteps() const;
101  virtual void SetAlwaysRunPostBuildSteps(bool always);
102 
103  virtual bool SetVar(const wxString& key, const wxString& value, bool onlyIfExists = false);
104  virtual bool UnsetVar(const wxString& key);
105  virtual void UnsetAllVars();
106  virtual bool HasVar(const wxString& key) const;
107  virtual const wxString& GetVar(const wxString& key) const;
108  virtual const StringHash& GetAllVars() const;
109  protected:
123  StringHash m_Vars;
124  private:
125 };
126 
127 #endif // COMPILEOPTIONSBASE_H
128 
wxArrayString m_LinkLibs
wxArrayString m_CmdsBefore
wxArrayString m_ResIncludeDirs
#define DLLIMPORT
Definition: settings.h:16
wxArrayString m_CompilerOptions
wxArrayString m_ResourceCompilerOptions
wxArrayString m_LinkerOptions
This is a base class for all classes needing compilation parameters.
wxArrayString m_CmdsAfter
WX_DECLARE_STRING_HASH_MAP(wxString, StringHash)
wxArrayString m_IncludeDirs