44 for (
size_t i = 0; i < targetArr.
GetCount(); ++i)
48 targetStr << tmp <<
_T(
";");
52 for (
size_t i = 0; i < projectArr.
GetCount(); ++i)
56 projectStr << tmp <<
_T(
";");
64 for (
size_t i = 0; i < compilerArr.
GetCount(); ++i)
68 compilerStr << tmp <<
_T(
";");
71 Result << compilerStr;
73 Result = Result.
Trim(
true);
81 wxString Temp, LinkerOptions, Result;
82 wxArrayString ComLinkerOptions, OtherLinkerOptions, LinkerOptionsArr;
85 for (j = 0; j < 3; ++j)
93 else if (j == 1 && target)
103 if (!ComLinkerOptions.
IsEmpty())
105 Count = ComLinkerOptions.
GetCount();
106 for (i = 0; i < Count; ++i)
108 Temp = ComLinkerOptions[i];
119 LinkerOptions += Temp;
135 LinkerOptions +=
_T(
"system ") + Temp +
_T(
" ");
139 LinkerOptions +=
_T(
"option map");
140 int pos = Temp.
Find(
_T(
'='));
142 LinkerOptions += Temp.
Mid(pos);
147 LinkerOptions +=
_T(
"option stack=") + Temp.
Mid(2) +
_T(
" ");
151 LinkerOptions += Temp +
_T(
" ");
158 if (!OtherLinkerOptions.
IsEmpty())
160 Count = OtherLinkerOptions.
GetCount();
161 for (i = 0; i < Count; ++i)
163 Temp = OtherLinkerOptions[i];
165 if ((Temp[0] !=
_T(
'-')) && (Temp[0] !=
_T(
'/')))
166 LinkerOptions = LinkerOptions + Temp +
_T(
" ");
170 LinkerOptionsArr.
Add(LinkerOptions);
176 Result << LinkerOptionsArr[2];
184 wxString targetStr, projectStr, compilerStr;
191 for (
size_t i = 0; i < Libs.
GetCount(); ++i)
192 targetStr << Libs[i] +
_T(
",");
195 for (
size_t i = 0; i < Libs.
GetCount(); ++i)
196 projectStr << Libs[i] +
_T(
",");
203 for (
size_t i = 0; i < Libs.
GetCount(); ++i)
204 compilerStr << Libs[i] <<
_T(
",");
206 Result << compilerStr;
208 Result = Result.
Trim(
true);
222 return _T(
"system nt_win ");
224 return _T(
"system nt ");
226 return _T(
"system nt_dll ");
228 return _T(
"system nt_win ref '_WinMain@16' ");
233 return _T(
"system linux ");
bool Matches(const wxString &mask) const
wxString MapDebugOptions(const wxString &Opt)
static Manager * Get()
Use Manager::Get() to get a pointer to its instance Manager::Get() is guaranteed to never return an i...
Linker include dir option.
std::map< wxString, RefCountedLib > Libs
Target produces an executable.
virtual const wxArrayString & GetCompilerOptions() const
virtual wxString GetOrderedOptions(const ProjectBuildTarget *target, OptionsRelationType rel, const wxString &project_options, const wxString &target_options)
Arrange order of options.
wxString AfterFirst(wxUniChar ch) const
virtual cbProject * GetParentProject()
virtual TargetType GetTargetType() const
Read the target's type.
virtual const wxArrayString & GetLinkerOptions() const
wxString & RemoveLast(size_t n=1)
virtual const wxArrayString & GetLinkLibs() const
Target produces a dynamic library.
virtual wxString SetupLinkerOptions(Compiler *compiler, ProjectBuildTarget *target)
Setup linker flags for build target.
void MapDebuggerOptions(const wxString &Opt)
bool IsSameAs(const wxString &s, bool caseSensitive=true) const
virtual wxString SetupLibrariesDirs(Compiler *compiler, ProjectBuildTarget *target)
Setup linker include dirs for build target.
wxString Right(size_t count) const
MacrosManager * GetMacrosManager() const
wxString & Trim(bool fromRight=true)
void ReplaceMacros(wxString &buffer, ProjectBuildTarget *target=nullptr, bool subrequest=false)
Target produces a static library.
Abstract base class for compilers.
wxString & Append(const char *psz)
virtual const wxArrayString & GetLibDirs() const
Target produces a console executable (without GUI) (distinction between ttExecutable and ttConsoleOnl...
virtual const CompilerSwitches & GetSwitches() const
Get the compiler's generic switches.
wxString & Prepend(const wxString &str)
size_t Add(const wxString &str, size_t copies=1)
bool StartsWith(const wxString &prefix, wxString *rest=NULL) const
Represents a Code::Blocks project build target.
int Find(wxUniChar ch, bool fromEnd=false) const
virtual wxString SetupLinkLibraries(Compiler *compiler, ProjectBuildTarget *target)
Setup link libraries for build target.
wxString MapTargetType(const wxString &Opt, int target_type)
wxString Mid(size_t first, size_t nCount=wxString::npos) const
virtual ~CompilerOWGenerator()