get { return compilerFlags; }
isset { return compilerFlags.count != 0; }
}
+ property Array<String> cxxFlags
+ {
+ set
+ {
+ cxxFlags.Free();
+ if(value)
+ {
+ delete cxxFlags;
+ cxxFlags = value;
+ }
+ }
+ get { return cxxFlags; }
+ isset { return cxxFlags.count != 0; }
+ }
property Array<String> linkerFlags
{
set
Array<String> excludeLibs { };
Array<String> eCcompilerFlags { };
Array<String> compilerFlags { };
+ Array<String> cxxFlags { };
Array<String> linkerFlags { };
char * name;
char * makeCommand;
if(prepDirectives) { prepDirectives.Free(); }
if(excludeLibs) { excludeLibs.Free(); }
if(compilerFlags) { compilerFlags.Free(); }
+ if(cxxFlags) { cxxFlags.Free(); }
if(eCcompilerFlags) { eCcompilerFlags.Free(); }
if(linkerFlags) { linkerFlags.Free(); }
}
!(result = environmentVars.OnCompare(b.environmentVars)) &&
!(result = prepDirectives.OnCompare(b.prepDirectives)) &&
!(result = excludeLibs.OnCompare(b.excludeLibs)) &&
+ !(result = cxxFlags.OnCompare(b.cxxFlags)) &&
!(result = eCcompilerFlags.OnCompare(b.eCcompilerFlags)) &&
!(result = compilerFlags.OnCompare(b.compilerFlags)) &&
!(result = linkerFlags.OnCompare(b.linkerFlags)))
for(s : prepDirectives) copy.prepDirectives.Add(CopyString(s));
for(s : excludeLibs) copy.excludeLibs.Add(CopyString(s));
for(s : compilerFlags) copy.compilerFlags.Add(CopyString(s));
+ for(s : cxxFlags) copy.cxxFlags.Add(CopyString(s));
for(s : eCcompilerFlags) copy.eCcompilerFlags.Add(CopyString(s));
for(s : linkerFlags) copy.linkerFlags.Add(CopyString(s));
Button distccEnabled
{
- this, text = $"Use distcc", hotKey = altD, position = { 158, 68 };
+ this, text = $"Use distcc", position = { 158, 68 };
isCheckbox = true;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
CompilerConfig compiler = loadedCompiler;
if(compiler)
{
- distccHosts.disabled = !button.checked;
+ distccHostsLabel.disabled = distccHosts.disabled = !button.checked;
compiler.distccEnabled = button.checked;
modifiedDocument = true;
compilersTab.modifiedDocument = true;
}
};
- Label distccHostsLabel { this, position = { 8, 96 }, labeledWindow = distccHosts };
+ Label distccHostsLabel { this, position = { 240, 68 }, labeledWindow = distccHosts };
EditBox distccHosts
{
this, text = $"distcc hosts", hotKey = altH;
- position = { 88, 92 }, size = { 300, 22 };
+ position = { 320, 64 }, size = { 160, 22 };
bool NotifyModified(EditBox editBox)
{
}
};
- Label lblPrepDefs { this, position = { 8, 126 }, labeledWindow = prepDefs };
+ Label lblPrepDefs { this, position = { 8, 96 }, labeledWindow = prepDefs };
StringListBox prepDefs
{
this, text = $"Preprocessor directives", hotKey = altP;
- position = { 168, 124 }, size = { 280, 22 }, anchor = { left = 168, top = 124, right = 8 };
+ position = { 168, 94 }, size = { 280, 22 }, anchor = { left = 168, top = 94, right = 8 };
bool NotifyModified(EditBox editBox)
{
}
};
- Label leCcompilerFlags { this, position = { 8, 156 }, labeledWindow = eCcompilerFlags };
+ Label leCcompilerFlags { this, position = { 8, 126 }, labeledWindow = eCcompilerFlags };
StringListBox eCcompilerFlags
{
this, text = $"Additional eC compiler flags", hotKey = altG;
- position = { 168, 154 }, size = { 280, 22 }, anchor = { left = 168, top = 154, right = 8 };
+ position = { 168, 124 }, size = { 280, 22 }, anchor = { left = 168, top = 124, right = 8 };
bool NotifyModified(EditBox editBox)
{
}
};
- Label lblCompilerFlags { this, position = { 8, 186 }, labeledWindow = compilerFlags };
+ Label lblCompilerFlags { this, position = { 8, 156 }, labeledWindow = compilerFlags };
StringListBox compilerFlags
{
- this, text = $"Additional compiler flags", hotKey = altR;
- position = { 168, 184 }, size = { 280, 22 }, anchor = { left = 168, top = 184, right = 8 };
+ this, text = $"Additional C compiler flags", hotKey = altR;
+ position = { 168, 154 }, size = { 280, 22 }, anchor = { left = 168, top = 154, right = 8 };
bool NotifyModified(EditBox editBox)
{
}
};
+ Label lblcxxFlags { this, position = { 8, 186 }, labeledWindow = cxxFlags };
+ StringListBox cxxFlags
+ {
+ this, text = $"Additional C++ compiler flags", hotKey = altD;
+ position = { 168, 184 }, size = { 280, 22 }, anchor = { left = 168, top = 184, right = 8 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ if(loadedCompiler)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ compiler.cxxFlags = ((StringListBox)editBox).strings;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
Label lblLinkerFlags { this, position = { 8, 216 }, labeledWindow = linkerFlags };
StringListBox linkerFlags
{
numJobsBox.Refresh();
ccacheEnabled.checked = compiler.ccacheEnabled;
distccEnabled.checked = compiler.distccEnabled;
- distccHosts.disabled = !compiler.distccEnabled;
+ distccHostsLabel.disabled = distccHosts.disabled = !compiler.distccEnabled;
distccHosts.contents = compiler.distccHosts;
prepDefs.strings = compiler.prepDirectives;
excludedLibraries.strings = compiler.excludeLibs;
eCcompilerFlags.strings = compiler.eCcompilerFlags;
compilerFlags.strings = compiler.compilerFlags;
+ cxxFlags.strings = compiler.cxxFlags;
linkerFlags.strings = compiler.linkerFlags;
objectFileExt.contents = compiler.objectFileExt;
outputFileExt.contents = compiler.outputFileExt;