IDE: add option to enable/disable Application.Scaled in project file. Issue #31639

git-svn-id: trunk@54530 -
This commit is contained in:
ondrej 2017-04-05 19:29:05 +00:00
parent b5ddafa8d2
commit fa7bf64041
9 changed files with 86 additions and 58 deletions

View File

@ -237,7 +237,8 @@ type
pfMainUnitIsPascalSource,// main unit is pascal, even it does not end in .pas/.pp pfMainUnitIsPascalSource,// main unit is pascal, even it does not end in .pas/.pp
pfMainUnitHasUsesSectionForAllUnits,// add new units to main uses section pfMainUnitHasUsesSectionForAllUnits,// add new units to main uses section
pfMainUnitHasCreateFormStatements,// add/remove Application.CreateForm statements pfMainUnitHasCreateFormStatements,// add/remove Application.CreateForm statements
pfMainUnitHasTitleStatement,// add/remove Application.Title:= statements pfMainUnitHasTitleStatement,// add/remove Application.Title:= statement
pfMainUnitHasScaledStatement,// add/remove Application.Scaled:= statement
pfRunnable, // project can be run pfRunnable, // project can be run
pfAlwaysBuild, // skip IDE's smart check if compilation is needed and always compile pfAlwaysBuild, // skip IDE's smart check if compilation is needed and always compile
pfUseDesignTimePackages, // compile design time packages to project pfUseDesignTimePackages, // compile design time packages to project
@ -555,6 +556,7 @@ const
pfMainUnitHasUsesSectionForAllUnits, pfMainUnitHasUsesSectionForAllUnits,
pfMainUnitHasCreateFormStatements, pfMainUnitHasCreateFormStatements,
pfMainUnitHasTitleStatement, pfMainUnitHasTitleStatement,
pfMainUnitHasScaledStatement,
pfRunnable, pfRunnable,
pfLRSFilesInOutputDirectory, pfLRSFilesInOutputDirectory,
pfSaveJumpHistory, pfSaveJumpHistory,
@ -566,6 +568,7 @@ const
'MainUnitHasUsesSectionForAllUnits', 'MainUnitHasUsesSectionForAllUnits',
'MainUnitHasCreateFormStatements', 'MainUnitHasCreateFormStatements',
'MainUnitHasTitleStatement', 'MainUnitHasTitleStatement',
'MainUnitHasScaledStatement',
'Runnable', 'Runnable',
'AlwaysBuild', 'AlwaysBuild',
'UseDesignTimePackages', 'UseDesignTimePackages',

View File

@ -58,7 +58,7 @@ constructor TProjectInstantFPCDescriptor.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNameInstantFPCProject; Name:=ProjDescNameInstantFPCProject;
Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement] Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
end; end;

View File

@ -10,13 +10,13 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
DesignTop = 188 DesignTop = 188
object Bevel1: TBevel object Bevel1: TBevel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox AnchorSideTop.Control = MainUnitHasScaledStatementCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 3 Height = 3
Top = 120 Top = 125
Width = 536 Width = 536
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -26,9 +26,9 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideTop.Control = MainUnitIsPascalSourceCheckBox AnchorSideTop.Control = MainUnitIsPascalSourceCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 30 Top = 25
Width = 324 Width = 262
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'MainUnitHasUsesSectionForAllUnitsCheckBox' Caption = 'MainUnitHasUsesSectionForAllUnitsCheckBox'
ParentShowHint = False ParentShowHint = False
@ -40,9 +40,9 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideTop.Control = MainUnitHasUsesSectionForAllUnitsCheckBox AnchorSideTop.Control = MainUnitHasUsesSectionForAllUnitsCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 60 Top = 50
Width = 324 Width = 262
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'MainUnitHasCreateFormStatementsCheckBox' Caption = 'MainUnitHasCreateFormStatementsCheckBox'
ParentShowHint = False ParentShowHint = False
@ -53,9 +53,9 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
Left = 0 Left = 0
Height = 24 Height = 19
Top = 0 Top = 0
Width = 244 Width = 198
Caption = 'MainUnitIsPascalSourceCheckBox' Caption = 'MainUnitIsPascalSourceCheckBox'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
@ -66,9 +66,9 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideTop.Control = MainUnitHasCreateFormStatementsCheckBox AnchorSideTop.Control = MainUnitHasCreateFormStatementsCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 90 Top = 75
Width = 270 Width = 218
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'MainUnitHasTitleStatementCheckBox' Caption = 'MainUnitHasTitleStatementCheckBox'
ParentShowHint = False ParentShowHint = False
@ -79,42 +79,42 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Bevel1 AnchorSideTop.Control = Bevel1
Left = 0 Left = 0
Height = 24 Height = 19
Top = 126 Top = 131
Width = 150 Width = 122
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'RunnableCheckBox' Caption = 'RunnableCheckBox'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 4 TabOrder = 5
end end
object AlwaysBuildCheckBox: TCheckBox object AlwaysBuildCheckBox: TCheckBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = UseDesignTimePkgsCheckBox AnchorSideTop.Control = UseDesignTimePkgsCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 186 Top = 181
Width = 168 Width = 136
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'AlwaysBuildCheckBox' Caption = 'AlwaysBuildCheckBox'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 6 TabOrder = 7
end end
object LRSInOutputDirCheckBox: TCheckBox object LRSInOutputDirCheckBox: TCheckBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = AlwaysBuildCheckBox AnchorSideTop.Control = AlwaysBuildCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 216 Top = 206
Width = 190 Width = 154
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'LRSInOutputDirCheckBox' Caption = 'LRSInOutputDirCheckBox'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 7 TabOrder = 8
end end
object ResourceGroupBox: TGroupBox object ResourceGroupBox: TGroupBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -124,7 +124,7 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 81 Height = 81
Top = 246 Top = 231
Width = 536 Width = 536
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -137,29 +137,29 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 56 ClientHeight = 61
ClientWidth = 532 ClientWidth = 532
TabOrder = 8 TabOrder = 9
object UseFPCResourcesRadioButton: TRadioButton object UseFPCResourcesRadioButton: TRadioButton
Left = 6 Left = 6
Height = 22 Height = 25
Top = 28 Top = 6
Width = 520 Width = 520
Caption = 'UseFPCResourcesRadioButton' Caption = 'UseFPCResourcesRadioButton'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 1 TabOrder = 0
end end
object UseLRSFilesRadioButton: TRadioButton object UseLRSFilesRadioButton: TRadioButton
Left = 6 Left = 6
Height = 22 Height = 24
Top = 6 Top = 31
Width = 520 Width = 520
Caption = 'UseLRSFilesRadioButton' Caption = 'UseLRSFilesRadioButton'
Checked = True Checked = True
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 0 TabOrder = 1
TabStop = True TabStop = True
end end
end end
@ -168,23 +168,23 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideTop.Control = RunnableCheckBox AnchorSideTop.Control = RunnableCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 24 Height = 19
Top = 156 Top = 156
Width = 221 Width = 179
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'UseDesignTimePkgsCheckBox' Caption = 'UseDesignTimePkgsCheckBox'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 5 TabOrder = 6
end end
object PathDelimLabel: TLabel object PathDelimLabel: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = PathDelimComboBox AnchorSideTop.Control = PathDelimComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 20 Height = 15
Top = 346 Top = 331
Width = 105 Width = 83
Caption = 'PathDelimLabel' Caption = 'PathDelimLabel'
ParentColor = False ParentColor = False
end end
@ -196,7 +196,7 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 3 Height = 3
Top = 333 Top = 318
Width = 536 Width = 536
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -207,14 +207,28 @@ object ProjectMiscOptionsFrame: TProjectMiscOptionsFrame
AnchorSideTop.Control = Bevel2 AnchorSideTop.Control = Bevel2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 111 Left = 89
Height = 28 Height = 23
Top = 342 Top = 327
Width = 259 Width = 259
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 20 ItemHeight = 15
TabOrder = 9 TabOrder = 10
Text = 'PathDelimComboBox' Text = 'PathDelimComboBox'
end end
object MainUnitHasScaledStatementCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox
AnchorSideTop.Side = asrBottom
Left = 0
Height = 19
Top = 100
Width = 229
BorderSpacing.Top = 6
Caption = 'MainUnitHasScaledStatementCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 4
end
end end

View File

@ -21,6 +21,7 @@ type
LRSInOutputDirCheckBox: TCheckBox; LRSInOutputDirCheckBox: TCheckBox;
MainUnitHasCreateFormStatementsCheckBox: TCheckBox; MainUnitHasCreateFormStatementsCheckBox: TCheckBox;
MainUnitHasTitleStatementCheckBox: TCheckBox; MainUnitHasTitleStatementCheckBox: TCheckBox;
MainUnitHasScaledStatementCheckBox: TCheckBox;
MainUnitHasUsesSectionForAllUnitsCheckBox: TCheckBox; MainUnitHasUsesSectionForAllUnitsCheckBox: TCheckBox;
MainUnitIsPascalSourceCheckBox: TCheckBox; MainUnitIsPascalSourceCheckBox: TCheckBox;
PathDelimComboBox: TComboBox; PathDelimComboBox: TComboBox;
@ -58,8 +59,10 @@ begin
MainUnitHasUsesSectionForAllUnitsCheckBox.Hint := lisNewUnitsAreAddedToUsesSections; MainUnitHasUsesSectionForAllUnitsCheckBox.Hint := lisNewUnitsAreAddedToUsesSections;
MainUnitHasCreateFormStatementsCheckBox.Caption := lisMainUnitHasApplicationCreateFormStatements; MainUnitHasCreateFormStatementsCheckBox.Caption := lisMainUnitHasApplicationCreateFormStatements;
MainUnitHasCreateFormStatementsCheckBox.Hint := lisUsedForAutoCreatedForms; MainUnitHasCreateFormStatementsCheckBox.Hint := lisUsedForAutoCreatedForms;
MainUnitHasTitleStatementCheckBox.Caption := lisMainUnitHasApplicationTitleStatements; MainUnitHasTitleStatementCheckBox.Caption := lisMainUnitHasApplicationTitleStatement;
MainUnitHasTitleStatementCheckBox.Hint := lisIdeMaintainsTheTitleInMainUnit; MainUnitHasTitleStatementCheckBox.Hint := lisIdeMaintainsTheTitleInMainUnit;
MainUnitHasScaledStatementCheckBox.Caption := lisMainUnitHasApplicationScaledStatement;
MainUnitHasScaledStatementCheckBox.Hint := lisIdeMaintainsScaledInMainUnit;
RunnableCheckBox.Caption := lisProjectIsRunnable; RunnableCheckBox.Caption := lisProjectIsRunnable;
RunnableCheckBox.Hint := lisProjectIsRunnableHint; RunnableCheckBox.Hint := lisProjectIsRunnableHint;
UseDesignTimePkgsCheckBox.Caption := lisUseDesignTimePackages; UseDesignTimePkgsCheckBox.Caption := lisUseDesignTimePackages;
@ -87,6 +90,7 @@ begin
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := (pfMainUnitHasUsesSectionForAllUnits in Flags); MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := (pfMainUnitHasUsesSectionForAllUnits in Flags);
MainUnitHasCreateFormStatementsCheckBox.Checked := (pfMainUnitHasCreateFormStatements in Flags); MainUnitHasCreateFormStatementsCheckBox.Checked := (pfMainUnitHasCreateFormStatements in Flags);
MainUnitHasTitleStatementCheckBox.Checked := (pfMainUnitHasTitleStatement in Flags); MainUnitHasTitleStatementCheckBox.Checked := (pfMainUnitHasTitleStatement in Flags);
MainUnitHasScaledStatementCheckBox.Checked := (pfMainUnitHasScaledStatement in Flags);
RunnableCheckBox.Checked := (pfRunnable in Flags); RunnableCheckBox.Checked := (pfRunnable in Flags);
UseDesignTimePkgsCheckBox.Checked := (pfUseDesignTimePackages in Flags); UseDesignTimePkgsCheckBox.Checked := (pfUseDesignTimePackages in Flags);
AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in Flags); AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in Flags);
@ -129,6 +133,8 @@ begin
MainUnitHasCreateFormStatementsCheckBox.Checked); MainUnitHasCreateFormStatementsCheckBox.Checked);
SetProjectFlag(pfMainUnitHasTitleStatement, SetProjectFlag(pfMainUnitHasTitleStatement,
MainUnitHasTitleStatementCheckBox.Checked); MainUnitHasTitleStatementCheckBox.Checked);
SetProjectFlag(pfMainUnitHasScaledStatement,
MainUnitHasScaledStatementCheckBox.Checked);
SetProjectFlag(pfRunnable, RunnableCheckBox.Checked); SetProjectFlag(pfRunnable, RunnableCheckBox.Checked);
SetProjectFlag(pfUseDesignTimePackages, UseDesignTimePkgsCheckBox.Checked); SetProjectFlag(pfUseDesignTimePackages, UseDesignTimePkgsCheckBox.Checked);
SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked); SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked);

View File

@ -2635,8 +2635,10 @@ resourcestring
+'section containing all units of project'; +'section containing all units of project';
lisMainUnitHasApplicationCreateFormStatements = 'Main unit has Application.CreateForm statements'; lisMainUnitHasApplicationCreateFormStatements = 'Main unit has Application.CreateForm statements';
lisUsedForAutoCreatedForms = 'Used for auto-created forms.'; lisUsedForAutoCreatedForms = 'Used for auto-created forms.';
lisMainUnitHasApplicationTitleStatements = 'Main unit has Application.Title statements'; lisMainUnitHasApplicationTitleStatement = 'Main unit has Application.Title statement';
lisIdeMaintainsTheTitleInMainUnit = 'The IDE maintains the title in main unit.'; lisIdeMaintainsTheTitleInMainUnit = 'The IDE maintains the title in main unit.';
lisMainUnitHasApplicationScaledStatement = 'Main unit has Application.Scaled statement';
lisIdeMaintainsScaledInMainUnit = 'The IDE maintains Application.Scaled (Hi-DPI) in main unit.';
lisProjectIsRunnable = 'Project is runnable'; lisProjectIsRunnable = 'Project is runnable';
lisProjectIsRunnableHint = 'Generates a binary executable which can be run.'; lisProjectIsRunnableHint = 'Generates a binary executable which can be run.';
lisUseDesignTimePackages = 'Use design time packages'; lisUseDesignTimePackages = 'Use design time packages';

View File

@ -4968,7 +4968,8 @@ var
OldScaled, NewScaled: Boolean; OldScaled, NewScaled: Boolean;
begin begin
Result := True; Result := True;
if (AProject.MainUnitID < 0) then if (AProject.MainUnitID < 0) or
(not (pfMainUnitHasScaledStatement in AProject.Flags)) then
Exit; Exit;
OldScaled := GetScaled; OldScaled := GetScaled;

View File

@ -2779,6 +2779,7 @@ begin
SetFlag(pfMainUnitHasUsesSectionForAllUnits, OldProjectType in [ptProgram,ptApplication]); SetFlag(pfMainUnitHasUsesSectionForAllUnits, OldProjectType in [ptProgram,ptApplication]);
SetFlag(pfMainUnitHasCreateFormStatements, OldProjectType in [ptApplication]); SetFlag(pfMainUnitHasCreateFormStatements, OldProjectType in [ptApplication]);
SetFlag(pfMainUnitHasTitleStatement,OldProjectType in [ptApplication]); SetFlag(pfMainUnitHasTitleStatement,OldProjectType in [ptApplication]);
SetFlag(pfMainUnitHasScaledStatement,OldProjectType in [ptApplication]);
SetFlag(pfRunnable, OldProjectType in [ptProgram,ptApplication,ptCustomProgram]); SetFlag(pfRunnable, OldProjectType in [ptProgram,ptApplication,ptCustomProgram]);
end; end;
Flags:=Flags-[pfUseDefaultCompilerOptions]; Flags:=Flags-[pfUseDefaultCompilerOptions];
@ -5843,7 +5844,7 @@ begin
if (MainUnitID>=0) then begin if (MainUnitID>=0) then begin
if Requires(PackageGraph.LCLPackage,true) if Requires(PackageGraph.LCLPackage,true)
and (Flags*[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement]<>[]) and (Flags*[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]<>[])
then begin then begin
// this is a probably a LCL project where the main source only contains // this is a probably a LCL project where the main source only contains
// automatic code // automatic code

View File

@ -1323,7 +1323,7 @@ constructor TProjectSimpleProgramDescriptor.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNameSimpleProgram; Name:=ProjDescNameSimpleProgram;
Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement] Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
end; end;
@ -1373,7 +1373,7 @@ constructor TProjectProgramDescriptor.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNameProgram; Name:=ProjDescNameProgram;
Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement] Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
end; end;
@ -1435,7 +1435,8 @@ begin
Name:=ProjDescNameCustomProgram; Name:=ProjDescNameCustomProgram;
Flags:=Flags-[pfMainUnitHasUsesSectionForAllUnits, Flags:=Flags-[pfMainUnitHasUsesSectionForAllUnits,
pfMainUnitHasCreateFormStatements, pfMainUnitHasCreateFormStatements,
pfMainUnitHasTitleStatement] pfMainUnitHasTitleStatement,
pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
FAddMainSource:=true; FAddMainSource:=true;
end; end;
@ -1505,7 +1506,7 @@ constructor TProjectConsoleApplicationDescriptor.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNameConsoleApplication; Name:=ProjDescNameConsoleApplication;
Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement] Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
end; end;
@ -1675,7 +1676,7 @@ constructor TProjectLibraryDescriptor.Create;
begin begin
inherited Create; inherited Create;
Name:=ProjDescNameLibrary; Name:=ProjDescNameLibrary;
Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement] Flags:=Flags-[pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]
+[pfUseDefaultCompilerOptions]; +[pfUseDefaultCompilerOptions];
end; end;

View File

@ -3882,7 +3882,7 @@ begin
end; end;
if (Project1.MainUnitInfo<>nil) if (Project1.MainUnitInfo<>nil)
and ((Project1.FirstUnitWithEditorIndex=nil) and ((Project1.FirstUnitWithEditorIndex=nil)
or ([pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement]*Project1.Flags=[])) or ([pfMainUnitHasCreateFormStatements,pfMainUnitHasTitleStatement,pfMainUnitHasScaledStatement]*Project1.Flags=[]))
then begin then begin
// the project has not created any secondary files // the project has not created any secondary files
// or the project main source is not auto updated by the IDE // or the project main source is not auto updated by the IDE