Menu

[r7693]: / branches / wxsmith_addons / src / include / compileoptionsbase.h  Maximize  Restore  History

Download this file

115 lines (95 with data), 4.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
* This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
* http://www.gnu.org/licenses/lgpl-3.0.html
*/
#ifndef COMPILEOPTIONSBASE_H
#define COMPILEOPTIONSBASE_H
#include "globals.h"
#include <wx/hashmap.h>
WX_DECLARE_STRING_HASH_MAP(wxString, StringHash);
/**
* This is a base class for all classes needing compilation parameters. It
* offers functions to get/set the following:\n
* \li Compiler options
* \li Linker options
* \li Compiler include dirs
* \li Resource compiler include dirs
* \li Linker include dirs
* \li Custom commands to be executed before/after build
* \li The settings modification status
* \n\n
* These settings are used by the compiler plugins to construct the necessary
* compilation commands.
*/
class DLLIMPORT CompileOptionsBase
{
public:
CompileOptionsBase();
virtual ~CompileOptionsBase();
virtual void AddPlatform(int platform);
virtual void RemovePlatform(int platform);
virtual void SetPlatforms(int platforms);
virtual int GetPlatforms() const;
virtual bool SupportsCurrentPlatform() const;
virtual void SetLinkerOptions(const wxArrayString& linkerOpts);
virtual const wxArrayString& GetLinkerOptions() const;
virtual void AddLinkerOption(const wxString& option);
virtual void RemoveLinkerOption(const wxString& option);
virtual void SetLinkLibs(const wxArrayString& linkLibs);
virtual const wxArrayString& GetLinkLibs() const;
virtual void AddLinkLib(const wxString& lib);
virtual void RemoveLinkLib(const wxString& lib);
virtual void SetCompilerOptions(const wxArrayString& compilerOpts);
virtual const wxArrayString& GetCompilerOptions() const;
virtual void AddCompilerOption(const wxString& option);
virtual void RemoveCompilerOption(const wxString& option);
virtual void SetIncludeDirs(const wxArrayString& includeDirs);
virtual const wxArrayString& GetIncludeDirs() const;
virtual void AddIncludeDir(const wxString& option);
virtual void RemoveIncludeDir(const wxString& option);
virtual void SetResourceIncludeDirs(const wxArrayString& resIncludeDirs);
virtual const wxArrayString& GetResourceIncludeDirs() const;
virtual void AddResourceIncludeDir(const wxString& option);
virtual void RemoveResourceIncludeDir(const wxString& option);
virtual void SetLibDirs(const wxArrayString& libDirs);
virtual const wxArrayString& GetLibDirs() const;
virtual void AddLibDir(const wxString& option);
virtual void RemoveLibDir(const wxString& option);
virtual void SetCommandsBeforeBuild(const wxArrayString& commands);
virtual const wxArrayString& GetCommandsBeforeBuild() const;
virtual void AddCommandsBeforeBuild(const wxString& command);
virtual void RemoveCommandsBeforeBuild(const wxString& command);
virtual void SetCommandsAfterBuild(const wxArrayString& commands);
virtual const wxArrayString& GetCommandsAfterBuild() const;
virtual void AddCommandsAfterBuild(const wxString& command);
virtual void RemoveCommandsAfterBuild(const wxString& command);
virtual void SetBuildScripts(const wxArrayString& scripts);
virtual const wxArrayString& GetBuildScripts() const;
virtual void AddBuildScript(const wxString& script);
virtual void RemoveBuildScript(const wxString& script);
virtual bool GetModified() const;
virtual void SetModified(bool modified);
virtual bool GetAlwaysRunPostBuildSteps() const;
virtual void SetAlwaysRunPostBuildSteps(bool always);
virtual bool SetVar(const wxString& key, const wxString& value, bool onlyIfExists = false);
virtual bool UnsetVar(const wxString& key);
virtual void UnsetAllVars();
virtual const wxString& GetVar(const wxString& key) const;
virtual const StringHash& GetAllVars() const;
protected:
int m_Platform;
wxArrayString m_LinkerOptions;
wxArrayString m_LinkLibs;
wxArrayString m_CompilerOptions;
wxArrayString m_IncludeDirs;
wxArrayString m_ResIncludeDirs;
wxArrayString m_LibDirs;
wxArrayString m_CmdsBefore;
wxArrayString m_CmdsAfter;
wxArrayString m_Scripts;
bool m_Modified;
bool m_AlwaysRunPostCmds;
StringHash m_Vars;
private:
};
#endif // COMPILEOPTIONSBASE_H
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.