ide: add compiler compile options frame

git-svn-id: trunk@23343 -
This commit is contained in:
paul 2010-01-02 09:47:45 +00:00
parent 074ef3ac0d
commit 7082105282
6 changed files with 806 additions and 2 deletions

3
.gitattributes vendored
View File

@ -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

View File

@ -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

View File

@ -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
]);

View File

@ -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.

View File

@ -43,7 +43,7 @@
<PackageName Value="SynEdit"/>
</Item4>
</RequiredPackages>
<Units Count="67">
<Units Count="68">
<Unit0>
<Filename Value="lazarus.pp"/>
<IsPartOfProject Value="True"/>
@ -505,6 +505,13 @@
<ResourceBaseClass Value="Frame"/>
<UnitName Value="compiler_inherited_options"/>
</Unit66>
<Unit67>
<Filename Value="frames/compiler_compilation_options.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="CompilerCompilationOptionsFrame"/>
<ResourceBaseClass Value="Frame"/>
<UnitName Value="compiler_compilation_options"/>
</Unit67>
</Units>
</ProjectOptions>
<CompilerOptions>

View File

@ -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,