+ };
+
+ 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
+ {
+ this, text = $"Additional linker flags", hotKey = altL;
+ position = { 168, 214 }, size = { 280, 22 }, anchor = { left = 168, top = 214, right = 8 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ if(loadedCompiler)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ compiler.linkerFlags = ((StringListBox)editBox).strings;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
+ Label lblExcludedLibraries { this, position = { 8, 246 }, labeledWindow = excludedLibraries };
+ StringListBox excludedLibraries
+ {
+ this, text = $"Libraries to exclude", hotKey = altX;
+ position = { 168, 244 }, size = { 280, 22 }, anchor = { left = 168, top = 244, right = 8 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ if(loadedCompiler)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ compiler.excludeLibs = ((StringListBox)editBox).strings;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
+ Label objectFileExtLabel { this, position = { 8, 276 }, labeledWindow = objectFileExt };
+ EditBox objectFileExt
+ {
+ this, text = $"Object file extension";//, hotKey = altH;
+ position = { 168, 274 }, size = { 80, 22 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.objectFileExt = editBox.contents;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
+ Label staticLibFileExtLabel { this, position = { 8, 306 }, labeledWindow = staticLibFileExt };
+ EditBox staticLibFileExt
+ {
+ this, text = $"Target extensions (a, so, exe)";//, hotKey = altH;
+ position = { 168, 304 }, size = { 80, 22 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.staticLibFileExt = editBox.contents;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+ EditBox sharedLibFileExt
+ {
+ this;
+ position = { 256, 304 }, size = { 80, 22 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.sharedLibFileExt = editBox.contents;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+ EditBox executableFileExt
+ {
+ this;
+ position = { 344, 304 }, size = { 80, 22 };
+
+ bool NotifyModified(EditBox editBox)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.executableFileExt = editBox.contents;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
+ Button stripTarget
+ {
+ this, text = $"Strip target", hotKey = altC, position = { 168, 332 };
+ isCheckbox = true;
+
+ bool NotifyClicked(Button button, int x, int y, Modifiers mods)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.noStripTarget = !button.checked;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };
+
+ Button resourcesDotEar
+ {
+ this, text = $"Use resources.ear", position = { 308, 332 };
+ isCheckbox = true;
+
+ bool NotifyClicked(Button button, int x, int y, Modifiers mods)
+ {
+ CompilerConfig compiler = loadedCompiler;
+ if(compiler)
+ {
+ compiler.resourcesDotEar = button.checked;
+ modifiedDocument = true;
+ compilersTab.modifiedDocument = true;
+ }
+ return true;
+ }
+ };