diff --git a/.gitattributes b/.gitattributes
index e5c7463b39..7b239851a8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3411,6 +3411,9 @@ ide/frames/compiler_parsing_options.pas svneol=native#text/plain
ide/frames/compiler_path_options.lfm svneol=native#text/plain
ide/frames/compiler_path_options.lrs svneol=native#text/plain
ide/frames/compiler_path_options.pas svneol=native#text/plain
+ide/frames/compiler_verbosity_options.lfm svneol=native#text/plain
+ide/frames/compiler_verbosity_options.lrs svneol=native#text/pascal
+ide/frames/compiler_verbosity_options.pas svneol=native#text/pascal
ide/frames/desktop_options.lfm svneol=native#text/plain
ide/frames/desktop_options.lrs svneol=native#text/pascal
ide/frames/desktop_options.pas svneol=native#text/pascal
diff --git a/ide/frames/compiler_verbosity_options.lfm b/ide/frames/compiler_verbosity_options.lfm
new file mode 100644
index 0000000000..f688ce91e6
--- /dev/null
+++ b/ide/frames/compiler_verbosity_options.lfm
@@ -0,0 +1,50 @@
+inherited CompilerVerbosityOptionsFrame: TCompilerVerbosityOptionsFrame
+ Height = 538
+ Width = 697
+ ClientHeight = 538
+ ClientWidth = 697
+ DesignLeft = 396
+ DesignTop = 187
+ object grpVerbosity: TCheckGroup[0]
+ Left = 0
+ Height = 481
+ Top = 0
+ Width = 697
+ Align = alClient
+ AutoFill = True
+ Caption = 'grpVerbosity'
+ ChildSizing.LeftRightSpacing = 6
+ ChildSizing.TopBottomSpacing = 6
+ ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
+ ChildSizing.EnlargeVertical = crsHomogenousChildResize
+ ChildSizing.ShrinkHorizontal = crsScaleChilds
+ ChildSizing.ShrinkVertical = crsScaleChilds
+ ChildSizing.Layout = cclLeftToRightThenTopToBottom
+ ChildSizing.ControlsPerLine = 2
+ Columns = 2
+ TabOrder = 0
+ end
+ object grpErrorCnt: TGroupBox[1]
+ Left = 0
+ Height = 51
+ Top = 487
+ Width = 697
+ Align = alBottom
+ AutoSize = True
+ BorderSpacing.Top = 6
+ Caption = 'grpErrorCnt'
+ ClientHeight = 33
+ ClientWidth = 693
+ TabOrder = 1
+ object edtErrorCnt: TEdit
+ Left = 6
+ Height = 21
+ Top = 6
+ Width = 681
+ Align = alTop
+ BorderSpacing.Around = 6
+ TabOrder = 0
+ Text = 'edtErrorCnt'
+ end
+ end
+end
diff --git a/ide/frames/compiler_verbosity_options.lrs b/ide/frames/compiler_verbosity_options.lrs
new file mode 100644
index 0000000000..2cf9937dd9
--- /dev/null
+++ b/ide/frames/compiler_verbosity_options.lrs
@@ -0,0 +1,21 @@
+{ This is an automatically generated lazarus resource file }
+
+LazarusResources.Add('TCompilerVerbosityOptionsFrame','FORMDATA',[
+ 'TPF0'#241#30'TCompilerVerbosityOptionsFrame'#29'CompilerVerbosityOptionsFram'
+ +'e'#6'Height'#3#26#2#5'Width'#3#185#2#12'ClientHeight'#3#26#2#11'ClientWidth'
+ +#3#185#2#10'DesignLeft'#3#140#1#9'DesignTop'#3#187#0#0#242#2#0#11'TCheckGrou'
+ +'p'#12'grpVerbosity'#4'Left'#2#0#6'Height'#3#225#1#3'Top'#2#0#5'Width'#3#185
+ +#2#5'Align'#7#8'alClient'#8'AutoFill'#9#7'Caption'#6#12'grpVerbosity'#28'Chi'
+ +'ldSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Chil'
+ +'dSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.En'
+ +'largeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizont'
+ +'al'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'
+ +#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.C'
+ +'ontrolsPerLine'#2#2#7'Columns'#2#2#8'TabOrder'#2#0#0#0#242#2#1#9'TGroupBox'
+ +#11'grpErrorCnt'#4'Left'#2#0#6'Height'#2'3'#3'Top'#3#231#1#5'Width'#3#185#2#5
+ +'Align'#7#8'alBottom'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6#11
+ +'grpErrorCnt'#12'ClientHeight'#2'!'#11'ClientWidth'#3#181#2#8'TabOrder'#2#1#0
+ +#5'TEdit'#11'edtErrorCnt'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#6#5'Width'#3
+ +#169#2#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Te'
+ +'xt'#6#11'edtErrorCnt'#0#0#0#0
+]);
diff --git a/ide/frames/compiler_verbosity_options.pas b/ide/frames/compiler_verbosity_options.pas
new file mode 100644
index 0000000000..6388245bf9
--- /dev/null
+++ b/ide/frames/compiler_verbosity_options.pas
@@ -0,0 +1,139 @@
+unit compiler_verbosity_options;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
+ ExtCtrls, StdCtrls, IDEOptionsIntf, Project, CompilerOptions,
+ LazarusIDEStrConsts;
+
+type
+
+ { TCompilerVerbosityOptionsFrame }
+
+ TCompilerVerbosityOptionsFrame = class(TAbstractIDEOptionsEditor)
+ edtErrorCnt: TEdit;
+ grpErrorCnt: TGroupBox;
+ grpVerbosity: TCheckGroup;
+ public
+ function GetTitle: string; override;
+ procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
+ procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
+ procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
+ class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
+ end;
+
+implementation
+
+{ TCompilerVerbosityOptionsFrame }
+
+function TCompilerVerbosityOptionsFrame.GetTitle: string;
+begin
+ Result := dlgCOVerbosity;
+end;
+
+procedure TCompilerVerbosityOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
+begin
+ with grpVerbosity do
+ begin
+ Caption := dlgVerbosity;
+ AutoSize := True;
+
+ Items.Add(dlgCOShowErr + ' (-ve)');
+ Items.Add(dlgHintsParameterSenderNotUsed + ' (none)');
+ Items.Add(dlgShowWarnings + ' (-vw)');
+ Items.Add(dlgShowDebugInfo + ' (-vd)');
+ Items.Add(dlgShowNotes + ' (-vn)');
+ Items.Add(dlgShowUsedFiles + ' (-vu)');
+ Items.Add(dlgShowHint + ' (-vh)');
+ Items.Add(dlgShowTriedFiles + ' (-vt)');
+ Items.Add(dlgShowGeneralInfo + ' (-vi)');
+ Items.Add(dlgShowDefinedMacros + ' (-vm)');
+ Items.Add(dlgShowCompilingLineNumbers + ' (-vl)');
+ Items.Add(dlgShowCompiledProcedures + ' (-vp)');
+ Items.Add(dlgShowProcsError + ' (-vb)');
+ Items.Add(dlgShowConditionals + ' (-vc)');
+ Items.Add(dlgShowEverything + ' (-va)');
+ Items.Add(dlgShowExecutableInfo + ' (-vx)');
+ Items.Add(dlgShowSummary + ' (none)');
+ Items.Add(dlgShowNothing + ' (-v0)');
+ Items.Add(dlgHintsUnused + ' (none)');
+ Items.Add(dlgWriteFPCLogo + ' (-l)');
+ end;
+
+ grpErrorCnt.Caption := dlgStopAfterNrErr + ' (-Se)';
+ edtErrorCnt.Text := '';
+end;
+
+procedure TCompilerVerbosityOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
+begin
+ with AOptions as TProjectCompilerOptions, grpVerbosity do
+ begin
+ Checked[0] := ShowErrors;
+ Checked[1] := ShowHintsForSenderNotUsed;
+ Checked[2] := ShowWarn;
+ Checked[3] := ShowDebugInfo;
+ Checked[4] := ShowNotes;
+ Checked[5] := ShowUsedFiles;
+ Checked[6] := ShowHints;
+ Checked[7] := ShowTriedFiles;
+ Checked[8] := ShowGenInfo;
+ Checked[9] := ShowDefMacros;
+ Checked[10] := ShowLineNum;
+ Checked[11] := ShowCompProc;
+ Checked[12] := ShowAllProcsOnError;
+ Checked[13] := ShowCond;
+ Checked[14] := ShowAll;
+ Checked[15] := ShowExecInfo;
+ Checked[16] := ShowSummary;
+ Checked[17] := ShowNothing;
+ Checked[18] := ShowHintsForUnusedUnitsInMainSrc;
+ Checked[19] := WriteFPCLogo;
+
+ edtErrorCnt.Text := IntToStr(StopAfterErrCount);
+ end;
+end;
+
+procedure TCompilerVerbosityOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
+begin
+ with AOptions as TProjectCompilerOptions, grpVerbosity do
+ begin
+ ShowErrors := Checked[0];
+ ShowHintsForSenderNotUsed := Checked[1];
+ ShowWarn := Checked[2];
+ ShowDebugInfo := Checked[3];
+ ShowNotes := Checked[4];
+ ShowUsedFiles := Checked[5];
+ ShowHints := Checked[6];
+ ShowTriedFiles := Checked[7];
+ ShowGenInfo := Checked[8];
+ ShowDefMacros := Checked[9];
+ ShowLineNum := Checked[10];
+ ShowCompProc := Checked[11];
+ ShowAllProcsOnError := Checked[12];
+ ShowCond := Checked[13];
+ ShowAll := Checked[14];
+ ShowExecInfo := Checked[15];
+ ShowSummary := Checked[16];
+ ShowNothing := Checked[17];
+ ShowHintsForUnusedUnitsInMainSrc := Checked[18];
+ WriteFPCLogo := Checked[19];
+ StopAfterErrCount := StrToIntDef(edtErrorCnt.Text, 1);
+ end;
+end;
+
+class function TCompilerVerbosityOptionsFrame.SupportedOptionsClass:
+TAbstractIDEOptionsClass;
+begin
+ Result := TProjectCompilerOptions;
+end;
+
+initialization
+ {$I compiler_verbosity_options.lrs}
+ RegisterIDEOptionsEditor(GroupCompiler, TCompilerVerbosityOptionsFrame,
+ CompilerOptionsVerbosity);
+
+end.
+
diff --git a/ide/lazarus.lpi b/ide/lazarus.lpi
index bd2813fff3..aeae5c1520 100644
--- a/ide/lazarus.lpi
+++ b/ide/lazarus.lpi
@@ -43,7 +43,7 @@
-
+
@@ -484,6 +484,13 @@
+
+
+
+
+
+
+
diff --git a/ide/main.pp b/ide/main.pp
index 14b94a605a..87a2164e16 100644
--- a/ide/main.pp
+++ b/ide/main.pp
@@ -127,7 +127,7 @@ uses
project_misc_options,
// project compiler options
compiler_path_options, compiler_parsing_options, compiler_codegen_options,
- compiler_linking_options, compiler_messages_options,
+ compiler_linking_options, compiler_verbosity_options, compiler_messages_options,
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations,
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter, JumpHistoryView,