diff --git a/.gitattributes b/.gitattributes index 1fd62154d9..d76e446cde 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3399,6 +3399,9 @@ ide/frames/codetools_wordpolicy_options.pas svneol=native#text/pascal ide/frames/compiler_codegen_options.lfm svneol=native#text/plain ide/frames/compiler_codegen_options.lrs svneol=native#text/pascal ide/frames/compiler_codegen_options.pas svneol=native#text/pascal +ide/frames/compiler_compilation_options.lfm svneol=native#text/plain +ide/frames/compiler_compilation_options.lrs svneol=native#text/pascal +ide/frames/compiler_compilation_options.pas svneol=native#text/pascal ide/frames/compiler_inherited_options.lfm svneol=native#text/plain ide/frames/compiler_inherited_options.lrs svneol=native#text/pascal ide/frames/compiler_inherited_options.pas svneol=native#text/pascal diff --git a/ide/frames/compiler_compilation_options.lfm b/ide/frames/compiler_compilation_options.lfm new file mode 100644 index 0000000000..0b902cdbe3 --- /dev/null +++ b/ide/frames/compiler_compilation_options.lfm @@ -0,0 +1,389 @@ +inherited CompilerCompilationOptionsFrame: TCompilerCompilationOptionsFrame + Height = 539 + Width = 599 + ClientHeight = 539 + ClientWidth = 599 + DesignLeft = 481 + DesignTop = 150 + object chkCreateMakefile: TCheckBox[0] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + Left = 0 + Height = 17 + Top = 0 + Width = 106 + Caption = 'chkCreateMakefile' + TabOrder = 0 + end + object ExecuteAfterGroupBox: TGroupBox[1] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = grpCompiler + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 0 + Height = 97 + Top = 206 + Width = 599 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 + Caption = 'ExecuteAfterGroupBox' + ClientHeight = 79 + ClientWidth = 595 + TabOrder = 1 + object lblRunIfExecAfter: TLabel + AnchorSideLeft.Control = ExecuteAfterGroupBox + AnchorSideTop.Control = ExecuteAfterGroupBox + Left = 6 + Height = 14 + Top = 6 + Width = 86 + BorderSpacing.Around = 6 + Caption = 'lblRunIfExecAfter' + ParentColor = False + end + object ExecuteAfterCommandLabel: TLabel + AnchorSideLeft.Control = ExecuteAfterGroupBox + AnchorSideTop.Control = ExecuteAfterCommandEdit + AnchorSideTop.Side = asrCenter + Left = 6 + Height = 14 + Top = 32 + Width = 137 + BorderSpacing.Around = 6 + Caption = 'ExecuteAfterCommandLabel' + ParentColor = False + end + object chkExecAfterCompile: TCheckBox + AnchorSideLeft.Control = lblRunIfExecAfter + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteAfterGroupBox + Left = 122 + Height = 17 + Top = 6 + Width = 119 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecAfterCompile' + TabOrder = 0 + end + object chkExecAfterBuild: TCheckBox + AnchorSideLeft.Control = chkExecAfterCompile + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteAfterGroupBox + Left = 271 + Height = 17 + Top = 6 + Width = 104 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecAfterBuild' + TabOrder = 1 + end + object chkExecAfterRun: TCheckBox + AnchorSideLeft.Control = chkExecAfterBuild + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteAfterGroupBox + Left = 405 + Height = 17 + Top = 6 + Width = 101 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecAfterRun' + TabOrder = 2 + end + object ExecuteAfterCommandEdit: TEdit + AnchorSideLeft.Control = ExecuteAfterCommandLabel + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = chkExecAfterCompile + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = ExecuteAfterGroupBox + AnchorSideRight.Side = asrBottom + Left = 161 + Height = 21 + Top = 29 + Width = 428 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 12 + BorderSpacing.Around = 6 + TabOrder = 3 + Text = 'ExecuteAfterCommandEdit' + end + object ExecuteAfterScanFPCCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteAfterScanMakeCheckBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteAfterCommandEdit + AnchorSideTop.Side = asrBottom + Left = 213 + Height = 17 + Top = 56 + Width = 171 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'ExecuteAfterScanFPCCheckBox' + TabOrder = 4 + end + object ExecuteAfterScanMakeCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteAfterGroupBox + AnchorSideTop.Control = ExecuteAfterCommandEdit + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 17 + Top = 56 + Width = 177 + BorderSpacing.Around = 6 + Caption = 'ExecuteAfterScanMakeCheckBox' + TabOrder = 5 + end + object ExecuteAfterShowAllCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteAfterScanFPCCheckBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteAfterCommandEdit + AnchorSideTop.Side = asrBottom + Left = 414 + Height = 17 + Top = 56 + Width = 166 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'ExecuteAfterShowAllCheckBox' + TabOrder = 6 + end + end + object grpCompiler: TGroupBox[2] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = ExecuteBeforeGroupBox + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 0 + Height = 74 + Top = 126 + Width = 599 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 + Caption = 'grpCompiler' + ClientHeight = 56 + ClientWidth = 595 + TabOrder = 2 + object lblRunIfCompiler: TLabel + AnchorSideLeft.Control = grpCompiler + AnchorSideTop.Control = grpCompiler + Left = 6 + Height = 14 + Top = 6 + Width = 79 + BorderSpacing.Around = 6 + Caption = 'lblRunIfCompiler' + ParentColor = False + end + object lblCompiler: TLabel + AnchorSideLeft.Control = grpCompiler + AnchorSideTop.Control = edtCompiler + AnchorSideTop.Side = asrCenter + Left = 6 + Height = 14 + Top = 32 + Width = 52 + BorderSpacing.Around = 6 + Caption = 'lblCompiler' + ParentColor = False + end + object chkCompilerCompile: TCheckBox + AnchorSideLeft.Control = lblRunIfCompiler + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = grpCompiler + Left = 115 + Height = 17 + Top = 6 + Width = 112 + BorderSpacing.Left = 30 + BorderSpacing.Top = 6 + Caption = 'chkCompilerCompile' + TabOrder = 0 + end + object chkCompilerBuild: TCheckBox + AnchorSideLeft.Control = chkCompilerCompile + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = grpCompiler + Left = 257 + Height = 17 + Top = 6 + Width = 97 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkCompilerBuild' + TabOrder = 1 + end + object chkCompilerRun: TCheckBox + AnchorSideLeft.Control = chkCompilerBuild + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = grpCompiler + Left = 384 + Height = 17 + Top = 6 + Width = 94 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkCompilerRun' + TabOrder = 2 + end + object edtCompiler: TEdit + AnchorSideLeft.Control = lblCompiler + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = chkCompilerCompile + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = grpCompiler + AnchorSideRight.Side = asrBottom + Left = 76 + Height = 21 + Top = 29 + Width = 513 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 12 + BorderSpacing.Around = 6 + TabOrder = 3 + Text = 'edtCompiler' + end + end + object ExecuteBeforeGroupBox: TGroupBox[3] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = chkCreateMakefile + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + Left = 0 + Height = 97 + Top = 23 + Width = 599 + Anchors = [akTop, akLeft, akRight] + AutoSize = True + BorderSpacing.Top = 6 + Caption = 'ExecuteBeforeGroupBox' + ClientHeight = 79 + ClientWidth = 595 + TabOrder = 3 + object lblRunIfExecBefore: TLabel + AnchorSideLeft.Control = ExecuteBeforeGroupBox + AnchorSideTop.Control = ExecuteBeforeGroupBox + Left = 6 + Height = 14 + Top = 6 + Width = 93 + BorderSpacing.Around = 6 + Caption = 'lblRunIfExecBefore' + ParentColor = False + end + object ExecuteBeforeCommandLabel: TLabel + AnchorSideLeft.Control = ExecuteBeforeGroupBox + AnchorSideTop.Control = ExecuteBeforeCommandEdit + AnchorSideTop.Side = asrCenter + Left = 6 + Height = 14 + Top = 32 + Width = 144 + BorderSpacing.Around = 6 + Caption = 'ExecuteBeforeCommandLabel' + ParentColor = False + end + object chkExecBeforeCompile: TCheckBox + AnchorSideLeft.Control = lblRunIfExecBefore + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteBeforeGroupBox + Left = 129 + Height = 17 + Top = 6 + Width = 126 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecBeforeCompile' + TabOrder = 0 + end + object chkExecBeforeBuild: TCheckBox + AnchorSideLeft.Control = chkExecBeforeCompile + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteBeforeGroupBox + Left = 285 + Height = 17 + Top = 6 + Width = 111 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecBeforeBuild' + TabOrder = 1 + end + object chkExecBeforeRun: TCheckBox + AnchorSideLeft.Control = chkExecBeforeBuild + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteBeforeGroupBox + Left = 426 + Height = 17 + Top = 6 + Width = 108 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'chkExecBeforeRun' + TabOrder = 2 + end + object ExecuteBeforeCommandEdit: TEdit + AnchorSideLeft.Control = ExecuteBeforeCommandLabel + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = chkExecBeforeCompile + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = ExecuteBeforeGroupBox + AnchorSideRight.Side = asrBottom + Left = 168 + Height = 21 + Top = 29 + Width = 421 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 12 + BorderSpacing.Around = 6 + TabOrder = 3 + Text = 'ExecuteBeforeCommandEdit' + end + object ExecuteBeforeScanFPCCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteBeforeScanMakeCheckBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteBeforeCommandEdit + AnchorSideTop.Side = asrBottom + Left = 220 + Height = 17 + Top = 56 + Width = 178 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'ExecuteBeforeScanFPCCheckBox' + TabOrder = 4 + end + object ExecuteBeforeScanMakeCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteBeforeGroupBox + AnchorSideTop.Control = ExecuteBeforeCommandEdit + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 17 + Top = 56 + Width = 184 + BorderSpacing.Around = 6 + Caption = 'ExecuteBeforeScanMakeCheckBox' + TabOrder = 5 + end + object ExecuteBeforeShowAllCheckBox: TCheckBox + AnchorSideLeft.Control = ExecuteBeforeScanFPCCheckBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = ExecuteBeforeCommandEdit + AnchorSideTop.Side = asrBottom + Left = 428 + Height = 17 + Top = 56 + Width = 173 + BorderSpacing.Left = 24 + BorderSpacing.Around = 6 + Caption = 'ExecuteBeforeShowAllCheckBox' + TabOrder = 6 + end + end +end diff --git a/ide/frames/compiler_compilation_options.lrs b/ide/frames/compiler_compilation_options.lrs new file mode 100644 index 0000000000..9287dadeb2 --- /dev/null +++ b/ide/frames/compiler_compilation_options.lrs @@ -0,0 +1,146 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TCompilerCompilationOptionsFrame','FORMDATA',[ + 'TPF0'#241' TCompilerCompilationOptionsFrame'#31'CompilerCompilationOptionsFr' + +'ame'#6'Height'#3#27#2#5'Width'#3'W'#2#12'ClientHeight'#3#27#2#11'ClientWidt' + +'h'#3'W'#2#10'DesignLeft'#3#225#1#9'DesignTop'#3#150#0#0#242#2#0#9'TCheckBox' + +#17'chkCreateMakefile'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTo' + +'p.Control'#7#5'Owner'#4'Left'#2#0#6'Height'#2#17#3'Top'#2#0#5'Width'#2'j'#7 + +'Caption'#6#17'chkCreateMakefile'#8'TabOrder'#2#0#0#0#242#2#1#9'TGroupBox'#20 + +'ExecuteAfterGroupBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTo' + +'p.Control'#7#11'grpCompiler'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Ancho' + +'rSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Le' + +'ft'#2#0#6'Height'#2'a'#3'Top'#3#206#0#5'Width'#3'W'#2#7'Anchors'#11#5'akTop' + +#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6 + +#20'ExecuteAfterGroupBox'#12'ClientHeight'#2'O'#11'ClientWidth'#3'S'#2#8'Tab' + +'Order'#2#1#0#6'TLabel'#17'lblRunIfExecAfter'#22'AnchorSideLeft.Control'#7#20 + +'ExecuteAfterGroupBox'#21'AnchorSideTop.Control'#7#20'ExecuteAfterGroupBox'#4 + +'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'V'#20'BorderSpacing.Around'#2 + +#6#7'Caption'#6#17'lblRunIfExecAfter'#11'ParentColor'#8#0#0#6'TLabel'#24'Exe' + +'cuteAfterCommandLabel'#22'AnchorSideLeft.Control'#7#20'ExecuteAfterGroupBox' + +#21'AnchorSideTop.Control'#7#23'ExecuteAfterCommandEdit'#18'AnchorSideTop.Si' + +'de'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2' '#5'Width'#3#137#0 + +#20'BorderSpacing.Around'#2#6#7'Caption'#6#24'ExecuteAfterCommandLabel'#11'P' + +'arentColor'#8#0#0#9'TCheckBox'#19'chkExecAfterCompile'#22'AnchorSideLeft.Co' + +'ntrol'#7#17'lblRunIfExecAfter'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'An' + +'chorSideTop.Control'#7#20'ExecuteAfterGroupBox'#4'Left'#2'z'#6'Height'#2#17 + +#3'Top'#2#6#5'Width'#2'w'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Aroun' + +'d'#2#6#7'Caption'#6#19'chkExecAfterCompile'#8'TabOrder'#2#0#0#0#9'TCheckBox' + +#17'chkExecAfterBuild'#22'AnchorSideLeft.Control'#7#19'chkExecAfterCompile' + +#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#20'Execu' + +'teAfterGroupBox'#4'Left'#3#15#1#6'Height'#2#17#3'Top'#2#6#5'Width'#2'h'#18 + +'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'chkEx' + +'ecAfterBuild'#8'TabOrder'#2#1#0#0#9'TCheckBox'#15'chkExecAfterRun'#22'Ancho' + +'rSideLeft.Control'#7#17'chkExecAfterBuild'#19'AnchorSideLeft.Side'#7#9'asrB' + +'ottom'#21'AnchorSideTop.Control'#7#20'ExecuteAfterGroupBox'#4'Left'#3#149#1 + +#6'Height'#2#17#3'Top'#2#6#5'Width'#2'e'#18'BorderSpacing.Left'#2#24#20'Bord' + +'erSpacing.Around'#2#6#7'Caption'#6#15'chkExecAfterRun'#8'TabOrder'#2#2#0#0#5 + +'TEdit'#23'ExecuteAfterCommandEdit'#22'AnchorSideLeft.Control'#7#24'ExecuteA' + +'fterCommandLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.C' + +'ontrol'#7#19'chkExecAfterCompile'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 + +'AnchorSideRight.Control'#7#20'ExecuteAfterGroupBox'#20'AnchorSideRight.Side' + +#7#9'asrBottom'#4'Left'#3#161#0#6'Height'#2#21#3'Top'#2#29#5'Width'#3#172#1#7 + +'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#12#20 + +'BorderSpacing.Around'#2#6#8'TabOrder'#2#3#4'Text'#6#23'ExecuteAfterCommandE' + +'dit'#0#0#9'TCheckBox'#27'ExecuteAfterScanFPCCheckBox'#22'AnchorSideLeft.Con' + +'trol'#7#28'ExecuteAfterScanMakeCheckBox'#19'AnchorSideLeft.Side'#7#9'asrBot' + +'tom'#21'AnchorSideTop.Control'#7#23'ExecuteAfterCommandEdit'#18'AnchorSideT' + +'op.Side'#7#9'asrBottom'#4'Left'#3#213#0#6'Height'#2#17#3'Top'#2'8'#5'Width' + +#3#171#0#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption' + +#6#27'ExecuteAfterScanFPCCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#28'Execu' + +'teAfterScanMakeCheckBox'#22'AnchorSideLeft.Control'#7#20'ExecuteAfterGroupB' + +'ox'#21'AnchorSideTop.Control'#7#23'ExecuteAfterCommandEdit'#18'AnchorSideTo' + +'p.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2'8'#5'Width'#3#177 + +#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#28'ExecuteAfterScanMakeCheckBox' + +#8'TabOrder'#2#5#0#0#9'TCheckBox'#27'ExecuteAfterShowAllCheckBox'#22'AnchorS' + +'ideLeft.Control'#7#27'ExecuteAfterScanFPCCheckBox'#19'AnchorSideLeft.Side'#7 + +#9'asrBottom'#21'AnchorSideTop.Control'#7#23'ExecuteAfterCommandEdit'#18'Anc' + +'horSideTop.Side'#7#9'asrBottom'#4'Left'#3#158#1#6'Height'#2#17#3'Top'#2'8'#5 + +'Width'#3#166#0#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'C' + +'aption'#6#27'ExecuteAfterShowAllCheckBox'#8'TabOrder'#2#6#0#0#0#242#2#2#9'T' + +'GroupBox'#11'grpCompiler'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSi' + +'deTop.Control'#7#21'ExecuteBeforeGroupBox'#18'AnchorSideTop.Side'#7#9'asrBo' + +'ttom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'a' + +'srBottom'#4'Left'#2#0#6'Height'#2'J'#3'Top'#2'~'#5'Width'#3'W'#2#7'Anchors' + +#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#7 + +'Caption'#6#11'grpCompiler'#12'ClientHeight'#2'8'#11'ClientWidth'#3'S'#2#8'T' + +'abOrder'#2#2#0#6'TLabel'#16'lblRunIfCompiler'#22'AnchorSideLeft.Control'#7 + ,#11'grpCompiler'#21'AnchorSideTop.Control'#7#11'grpCompiler'#4'Left'#2#6#6'H' + +'eight'#2#14#3'Top'#2#6#5'Width'#2'O'#20'BorderSpacing.Around'#2#6#7'Caption' + +#6#16'lblRunIfCompiler'#11'ParentColor'#8#0#0#6'TLabel'#11'lblCompiler'#22'A' + +'nchorSideLeft.Control'#7#11'grpCompiler'#21'AnchorSideTop.Control'#7#11'edt' + +'Compiler'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3 + +'Top'#2' '#5'Width'#2'4'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'lblCom' + +'piler'#11'ParentColor'#8#0#0#9'TCheckBox'#18'chkCompilerCompile'#22'AnchorS' + +'ideLeft.Control'#7#16'lblRunIfCompiler'#19'AnchorSideLeft.Side'#7#9'asrBott' + +'om'#21'AnchorSideTop.Control'#7#11'grpCompiler'#4'Left'#2's'#6'Height'#2#17 + +#3'Top'#2#6#5'Width'#2'p'#18'BorderSpacing.Left'#2#30#17'BorderSpacing.Top'#2 + +#6#7'Caption'#6#18'chkCompilerCompile'#8'TabOrder'#2#0#0#0#9'TCheckBox'#16'c' + +'hkCompilerBuild'#22'AnchorSideLeft.Control'#7#18'chkCompilerCompile'#19'Anc' + +'horSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#11'grpCompiler' + +#4'Left'#3#1#1#6'Height'#2#17#3'Top'#2#6#5'Width'#2'a'#18'BorderSpacing.Left' + +#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'chkCompilerBuild'#8'TabOr' + +'der'#2#1#0#0#9'TCheckBox'#14'chkCompilerRun'#22'AnchorSideLeft.Control'#7#16 + +'chkCompilerBuild'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.C' + +'ontrol'#7#11'grpCompiler'#4'Left'#3#128#1#6'Height'#2#17#3'Top'#2#6#5'Width' + +#2'^'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6 + +#14'chkCompilerRun'#8'TabOrder'#2#2#0#0#5'TEdit'#11'edtCompiler'#22'AnchorSi' + +'deLeft.Control'#7#11'lblCompiler'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21 + +'AnchorSideTop.Control'#7#18'chkCompilerCompile'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#23'AnchorSideRight.Control'#7#11'grpCompiler'#20'AnchorSideRight' + +'.Side'#7#9'asrBottom'#4'Left'#2'L'#6'Height'#2#21#3'Top'#2#29#5'Width'#3#1#2 + +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#12#20 + +'BorderSpacing.Around'#2#6#8'TabOrder'#2#3#4'Text'#6#11'edtCompiler'#0#0#0 + +#242#2#3#9'TGroupBox'#21'ExecuteBeforeGroupBox'#22'AnchorSideLeft.Control'#7 + +#5'Owner'#21'AnchorSideTop.Control'#7#17'chkCreateMakefile'#18'AnchorSideTop' + +'.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideR' + +'ight.Side'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2'a'#3'Top'#2#23#5'Width'#3 + +'W'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderS' + +'pacing.Top'#2#6#7'Caption'#6#21'ExecuteBeforeGroupBox'#12'ClientHeight'#2'O' + +#11'ClientWidth'#3'S'#2#8'TabOrder'#2#3#0#6'TLabel'#18'lblRunIfExecBefore'#22 + +'AnchorSideLeft.Control'#7#21'ExecuteBeforeGroupBox'#21'AnchorSideTop.Contro' + +'l'#7#21'ExecuteBeforeGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Widt' + +'h'#2']'#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'lblRunIfExecBefore'#11 + +'ParentColor'#8#0#0#6'TLabel'#25'ExecuteBeforeCommandLabel'#22'AnchorSideLef' + +'t.Control'#7#21'ExecuteBeforeGroupBox'#21'AnchorSideTop.Control'#7#24'Execu' + +'teBeforeCommandEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'He' + +'ight'#2#14#3'Top'#2' '#5'Width'#3#144#0#20'BorderSpacing.Around'#2#6#7'Capt' + +'ion'#6#25'ExecuteBeforeCommandLabel'#11'ParentColor'#8#0#0#9'TCheckBox'#20 + +'chkExecBeforeCompile'#22'AnchorSideLeft.Control'#7#18'lblRunIfExecBefore'#19 + +'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'ExecuteB' + +'eforeGroupBox'#4'Left'#3#129#0#6'Height'#2#17#3'Top'#2#6#5'Width'#2'~'#18'B' + +'orderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#20'chkExe' + +'cBeforeCompile'#8'TabOrder'#2#0#0#0#9'TCheckBox'#18'chkExecBeforeBuild'#22 + +'AnchorSideLeft.Control'#7#20'chkExecBeforeCompile'#19'AnchorSideLeft.Side'#7 + +#9'asrBottom'#21'AnchorSideTop.Control'#7#21'ExecuteBeforeGroupBox'#4'Left'#3 + +#29#1#6'Height'#2#17#3'Top'#2#6#5'Width'#2'o'#18'BorderSpacing.Left'#2#24#20 + +'BorderSpacing.Around'#2#6#7'Caption'#6#18'chkExecBeforeBuild'#8'TabOrder'#2 + +#1#0#0#9'TCheckBox'#16'chkExecBeforeRun'#22'AnchorSideLeft.Control'#7#18'chk' + +'ExecBeforeBuild'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Co' + +'ntrol'#7#21'ExecuteBeforeGroupBox'#4'Left'#3#170#1#6'Height'#2#17#3'Top'#2#6 + +#5'Width'#2'l'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Ca' + +'ption'#6#16'chkExecBeforeRun'#8'TabOrder'#2#2#0#0#5'TEdit'#24'ExecuteBefore' + +'CommandEdit'#22'AnchorSideLeft.Control'#7#25'ExecuteBeforeCommandLabel'#19 + +'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#20'chkExecB' + +'eforeCompile'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Cont' + +'rol'#7#21'ExecuteBeforeGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4 + +'Left'#3#168#0#6'Height'#2#21#3'Top'#2#29#5'Width'#3#165#1#7'Anchors'#11#5'a' + +'kTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#12#20'BorderSpacing.A' + +'round'#2#6#8'TabOrder'#2#3#4'Text'#6#24'ExecuteBeforeCommandEdit'#0#0#9'TCh' + +'eckBox'#28'ExecuteBeforeScanFPCCheckBox'#22'AnchorSideLeft.Control'#7#29'Ex' + +'ecuteBeforeScanMakeCheckBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anch' + ,'orSideTop.Control'#7#24'ExecuteBeforeCommandEdit'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#4'Left'#3#220#0#6'Height'#2#17#3'Top'#2'8'#5'Width'#3#178#0#18'B' + +'orderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#28'Execut' + +'eBeforeScanFPCCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#29'ExecuteBeforeSc' + +'anMakeCheckBox'#22'AnchorSideLeft.Control'#7#21'ExecuteBeforeGroupBox'#21'A' + +'nchorSideTop.Control'#7#24'ExecuteBeforeCommandEdit'#18'AnchorSideTop.Side' + +#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2'8'#5'Width'#3#184#0#20'B' + +'orderSpacing.Around'#2#6#7'Caption'#6#29'ExecuteBeforeScanMakeCheckBox'#8'T' + +'abOrder'#2#5#0#0#9'TCheckBox'#28'ExecuteBeforeShowAllCheckBox'#22'AnchorSid' + +'eLeft.Control'#7#28'ExecuteBeforeScanFPCCheckBox'#19'AnchorSideLeft.Side'#7 + +#9'asrBottom'#21'AnchorSideTop.Control'#7#24'ExecuteBeforeCommandEdit'#18'An' + +'chorSideTop.Side'#7#9'asrBottom'#4'Left'#3#172#1#6'Height'#2#17#3'Top'#2'8' + +#5'Width'#3#173#0#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7 + +'Caption'#6#28'ExecuteBeforeShowAllCheckBox'#8'TabOrder'#2#6#0#0#0#0 +]); diff --git a/ide/frames/compiler_compilation_options.pas b/ide/frames/compiler_compilation_options.pas new file mode 100644 index 0000000000..7f6a6b73a5 --- /dev/null +++ b/ide/frames/compiler_compilation_options.pas @@ -0,0 +1,259 @@ +unit compiler_compilation_options; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, + StdCtrls, IDEOptionsIntf, Project, CompilerOptions, LazarusIDEStrConsts, + ProjectIntf, PackageDefs; + +type + + { TCompilerCompilationOptionsFrame } + + TCompilerCompilationOptionsFrame = class(TAbstractIDEOptionsEditor) + chkCompilerBuild: TCheckBox; + chkCompilerCompile: TCheckBox; + chkCompilerRun: TCheckBox; + chkCreateMakefile: TCheckBox; + chkExecAfterBuild: TCheckBox; + chkExecAfterCompile: TCheckBox; + chkExecAfterRun: TCheckBox; + chkExecBeforeBuild: TCheckBox; + chkExecBeforeCompile: TCheckBox; + chkExecBeforeRun: TCheckBox; + edtCompiler: TEdit; + ExecuteAfterCommandEdit: TEdit; + ExecuteAfterCommandLabel: TLabel; + ExecuteAfterGroupBox: TGroupBox; + ExecuteAfterScanFPCCheckBox: TCheckBox; + ExecuteAfterScanMakeCheckBox: TCheckBox; + ExecuteAfterShowAllCheckBox: TCheckBox; + ExecuteBeforeCommandEdit: TEdit; + ExecuteBeforeCommandLabel: TLabel; + ExecuteBeforeGroupBox: TGroupBox; + ExecuteBeforeScanFPCCheckBox: TCheckBox; + ExecuteBeforeScanMakeCheckBox: TCheckBox; + ExecuteBeforeShowAllCheckBox: TCheckBox; + grpCompiler: TGroupBox; + lblCompiler: TLabel; + lblRunIfCompiler: TLabel; + lblRunIfExecAfter: TLabel; + lblRunIfExecBefore: TLabel; + private + { private declarations } + 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 + +{ TCompilerCompilationOptionsFrame } + +function TCompilerCompilationOptionsFrame.GetTitle: string; +begin + Result := dlgCOCompilation; +end; + +procedure TCompilerCompilationOptionsFrame.Setup( + ADialog: TAbstractOptionsEditorDialog); +begin + chkCreateMakefile.Caption := dlgCOCreateMakefile; + + ExecuteBeforeGroupBox.Caption := lisCOExecuteBefore; + chkExecBeforeBuild.Caption := lisCOCallOnBuild; + chkExecBeforeCompile.Caption := lisCOCallOnCompile; + chkExecBeforeRun.Caption := lisCOCallOnRun; + ExecuteBeforeCommandEdit.Text := ''; + ExecuteBeforeCommandLabel.Caption := lisCOCommand; + ExecuteBeforeScanFPCCheckBox.Caption := lisCOScanForFPCMessages; + ExecuteBeforeScanMakeCheckBox.Caption := lisCOScanForMakeMessages; + ExecuteBeforeShowAllCheckBox.Caption := lisCOShowAllMessages; + lblRunIfExecBefore.Caption := lisCOCallOn; + + grpCompiler.Caption := lisCompiler; + chkCompilerBuild.Caption := lisCOCallOnBuild; + chkCompilerBuild.Checked := True; + chkCompilerCompile.Caption := lisCOCallOnCompile; + chkCompilerCompile.Checked := True; + chkCompilerRun.Caption := lisCOCallOnRun; + chkCompilerRun.Checked := True; + edtCompiler.Text := ''; + lblCompiler.Caption := lisCOCommand; + lblRunIfCompiler.Caption := lisCOCallOn; + + ExecuteAfterGroupBox.Caption := lisCOExecuteAfter; + chkExecAfterBuild.Caption := lisCOCallOnBuild; + chkExecAfterCompile.Caption := lisCOCallOnCompile; + chkExecAfterRun.Caption := lisCOCallOnRun; + ExecuteAfterCommandEdit.Text := ''; + ExecuteAfterCommandLabel.Caption := lisCOCommand; + ExecuteAfterScanFPCCheckBox.Caption := lisCOScanForFPCMessages; + ExecuteAfterScanMakeCheckBox.Caption := lisCOScanForMakeMessages; + ExecuteAfterShowAllCheckBox.Caption := lisCOShowAllMessages; + lblRunIfExecAfter.Caption := lisCOCallOn; +end; + +procedure TCompilerCompilationOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions); +var + Options: TBaseCompilerOptions absolute AOptions; +begin + chkCreateMakefile.Checked := Options.CreateMakefileOnBuild; + + ExecuteBeforeCommandEdit.Text := Options.ExecuteBefore.Command; + ExecuteBeforeScanFPCCheckBox.Checked := Options.ExecuteBefore.ScanForFPCMessages; + ExecuteBeforeScanMakeCheckBox.Checked := + Options.ExecuteBefore.ScanForMakeMessages; + ExecuteBeforeShowAllCheckBox.Checked := Options.ExecuteBefore.ShowAllMessages; + if Options.ExecuteBefore is TProjectCompilationToolOptions then + with TProjectCompilationToolOptions(Options.ExecuteBefore) do + begin + chkExecBeforeCompile.Checked := crCompile in CompileReasons; + chkExecBeforeBuild.Checked := crBuild in CompileReasons; + chkExecBeforeRun.Checked := crRun in CompileReasons; + lblRunIfExecBefore.Visible := True; + chkExecBeforeCompile.Visible := True; + chkExecBeforeBuild.Visible := True; + chkExecBeforeRun.Visible := True; + end + else + begin + lblRunIfExecBefore.Visible := False; + chkExecBeforeCompile.Visible := False; + chkExecBeforeBuild.Visible := False; + chkExecBeforeRun.Visible := False; + end; + + edtCompiler.Text := Options.CompilerPath; + if Options is TProjectCompilerOptions then + with TProjectCompilerOptions(Options) do + begin + lblRunIfCompiler.Visible := True; + chkCompilerCompile.AnchorToNeighbour(akLeft, 30, lblRunIfCompiler); + chkCompilerCompile.Checked := crCompile in CompileReasons; + chkCompilerBuild.Checked := crBuild in CompileReasons; + chkCompilerRun.Checked := crRun in CompileReasons; + chkCompilerCompile.Caption := lisCOCallOnCompile; + chkCompilerCompile.Visible := True; + chkCompilerBuild.Visible := True; + chkCompilerRun.Visible := True; + edtCompiler.AnchorToNeighbour(akTop, 0, chkCompilerCompile); + end + else if Options is TPkgCompilerOptions then + begin + lblRunIfCompiler.Visible := False; + chkCompilerCompile.AnchorParallel(akTop, 6, chkCompilerCompile.Parent); + chkCompilerCompile.AnchorParallel(akLeft, 6, chkCompilerCompile.Parent); + chkCompilerCompile.Visible := True; + chkCompilerCompile.Caption := lisCOSkipCallingCompiler; + chkCompilerCompile.Checked := TPkgCompilerOptions(Options).SkipCompiler; + chkCompilerBuild.Visible := False; + chkCompilerRun.Visible := False; + edtCompiler.AnchorToNeighbour(akTop, 0, chkCompilerCompile); + end + else + begin + lblRunIfCompiler.Visible := False; + chkCompilerCompile.Visible := False; + chkCompilerBuild.Visible := False; + chkCompilerRun.Visible := False; + edtCompiler.AnchorParallel(akTop, 0, lblCompiler.Parent); + end; + + ExecuteAfterCommandEdit.Text := Options.ExecuteAfter.Command; + ExecuteAfterScanFPCCheckBox.Checked := Options.ExecuteAfter.ScanForFPCMessages; + ExecuteAfterScanMakeCheckBox.Checked := Options.ExecuteAfter.ScanForMakeMessages; + ExecuteAfterShowAllCheckBox.Checked := Options.ExecuteAfter.ShowAllMessages; + if Options.ExecuteAfter is TProjectCompilationToolOptions then + with TProjectCompilationToolOptions(Options.ExecuteAfter) do + begin + chkExecAfterCompile.Checked := crCompile in CompileReasons; + chkExecAfterBuild.Checked := crBuild in CompileReasons; + chkExecAfterRun.Checked := crRun in CompileReasons; + lblRunIfExecAfter.Visible := True; + chkExecAfterCompile.Visible := True; + chkExecAfterBuild.Visible := True; + chkExecAfterRun.Visible := True; + end + else + begin + lblRunIfExecAfter.Visible := False; + chkExecAfterCompile.Visible := False; + chkExecAfterBuild.Visible := False; + chkExecAfterRun.Visible := False; + end; +end; + +procedure TCompilerCompilationOptionsFrame.WriteSettings( + AOptions: TAbstractIDEOptions); + + function MakeCompileReasons(const ACompile, ABuild, ARun: TCheckBox): TCompileReasons; + begin + Result := []; + if ACompile.Checked then Include(Result, crCompile); + if ABuild.Checked then Include(Result, crBuild); + if ARun.Checked then Include(Result, crRun); + end; + +var + Options: TBaseCompilerOptions absolute AOptions; +begin + Options.CreateMakefileOnBuild := chkCreateMakefile.Checked; + + Options.ExecuteBefore.Command := ExecuteBeforeCommandEdit.Text; + Options.ExecuteBefore.ScanForFPCMessages := + ExecuteBeforeScanFPCCheckBox.Checked; + Options.ExecuteBefore.ScanForMakeMessages := + ExecuteBeforeScanMakeCheckBox.Checked; + Options.ExecuteBefore.ShowAllMessages := ExecuteBeforeShowAllCheckBox.Checked; + if Options.ExecuteBefore is TProjectCompilationToolOptions then + begin + TProjectCompilationToolOptions(Options.ExecuteBefore).CompileReasons := + MakeCompileReasons(chkExecBeforeCompile, + chkExecBeforeBuild, chkExecBeforeRun); + end; + + Options.CompilerPath := edtCompiler.Text; + if Options is TProjectCompilerOptions then + begin + TProjectCompilerOptions(Options).CompileReasons := + MakeCompileReasons(chkCompilerCompile, chkCompilerBuild, + chkCompilerRun); + end + else if Options is TPkgCompilerOptions then + begin + TPkgCompilerOptions(Options).SkipCompiler := chkCompilerCompile.Checked; + end; + + Options.ExecuteAfter.Command := ExecuteAfterCommandEdit.Text; + Options.ExecuteAfter.ScanForFPCMessages := + ExecuteAfterScanFPCCheckBox.Checked; + Options.ExecuteAfter.ScanForMakeMessages := + ExecuteAfterScanMakeCheckBox.Checked; + Options.ExecuteAfter.ShowAllMessages := ExecuteAfterShowAllCheckBox.Checked; + if Options.ExecuteAfter is TProjectCompilationToolOptions then + begin + TProjectCompilationToolOptions(Options.ExecuteAfter).CompileReasons := + MakeCompileReasons(chkExecAfterCompile, + chkExecAfterBuild, chkExecAfterRun); + end; +end; + +class function TCompilerCompilationOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass; +begin + Result := TBaseCompilerOptions; +end; + +initialization + {$I compiler_compilation_options.lrs} + RegisterIDEOptionsEditor(GroupCompiler, TCompilerCompilationOptionsFrame, + CompilerOptionsCompilation); + +end. + diff --git a/ide/lazarus.lpi b/ide/lazarus.lpi index e4e4a669c2..7865771529 100644 --- a/ide/lazarus.lpi +++ b/ide/lazarus.lpi @@ -43,7 +43,7 @@ - + @@ -505,6 +505,13 @@ + + + + + + + diff --git a/ide/main.pp b/ide/main.pp index 0651465d76..37c5f05f73 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -128,7 +128,7 @@ uses // project compiler options compiler_path_options, compiler_parsing_options, compiler_codegen_options, compiler_linking_options, compiler_verbosity_options, compiler_messages_options, - compiler_other_options, compiler_inherited_options, + compiler_other_options, compiler_inherited_options, compiler_compilation_options, PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations, IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter, JumpHistoryView,