mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-26 23:48:22 +02:00
IdeProject: Adjusting options in "standard" build modes (Release and Debug)
This commit is contained in:
parent
4e7251cd25
commit
9a31f4eb34
@ -7534,8 +7534,10 @@ function TProjectBuildModes.CreateExtraModes(aCurMode: TProjectBuildMode): TProj
|
|||||||
|
|
||||||
procedure AssignAndSetBooleans(aMode: TProjectBuildMode; IsDebug: Boolean);
|
procedure AssignAndSetBooleans(aMode: TProjectBuildMode; IsDebug: Boolean);
|
||||||
begin
|
begin
|
||||||
|
// Clone from current mode
|
||||||
if Assigned(aCurMode) then
|
if Assigned(aCurMode) then
|
||||||
aMode.Assign(aCurMode); // clone from currently selected mode
|
aMode.Assign(aCurMode);
|
||||||
|
// Change only some options
|
||||||
with aMode.CompilerOptions do
|
with aMode.CompilerOptions do
|
||||||
begin
|
begin
|
||||||
// Smart linking
|
// Smart linking
|
||||||
@ -7551,9 +7553,9 @@ function TProjectBuildModes.CreateExtraModes(aCurMode: TProjectBuildMode): TProj
|
|||||||
// Debug flags
|
// Debug flags
|
||||||
GenerateDebugInfo:=IsDebug;
|
GenerateDebugInfo:=IsDebug;
|
||||||
RunWithoutDebug:=not IsDebug;
|
RunWithoutDebug:=not IsDebug;
|
||||||
UseExternalDbgSyms:=IsDebug;
|
|
||||||
UseHeaptrc:=IsDebug;
|
UseHeaptrc:=IsDebug;
|
||||||
TrashVariables:=IsDebug;
|
TrashVariables:=IsDebug;
|
||||||
|
StripSymbols:=not IsDebug;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -7563,13 +7565,15 @@ begin
|
|||||||
// Create Debug mode
|
// Create Debug mode
|
||||||
Result:=Add(DebugModeName);
|
Result:=Add(DebugModeName);
|
||||||
AssignAndSetBooleans(Result, True);
|
AssignAndSetBooleans(Result, True);
|
||||||
Result.CompilerOptions.OptimizationLevel:=1; // Optimization
|
Result.CompilerOptions.OptimizationLevel:=1; // Low optimization
|
||||||
Result.CompilerOptions.DebugInfoType:=dsDwarf3; // Debug
|
Result.CompilerOptions.DebugInfoType:=dsDwarf3; // Debug
|
||||||
// Create Release mode
|
// Create Release mode
|
||||||
RelMode:=Add(ReleaseModeName);
|
RelMode:=Add(ReleaseModeName);
|
||||||
AssignAndSetBooleans(RelMode, False);
|
AssignAndSetBooleans(RelMode, False);
|
||||||
RelMode.CompilerOptions.OptimizationLevel:=3; // Slow but safe optimization, -O4 is dangerous
|
RelMode.CompilerOptions.OptimizationLevel:=3; // High but safe optimization, -O4 is dangerous
|
||||||
RelMode.CompilerOptions.DebugInfoType:=dsAuto; // No Debug
|
RelMode.CompilerOptions.DebugInfoType:=dsAuto; // No Debug
|
||||||
|
RelMode.CompilerOptions.UseValgrind:=false;
|
||||||
|
RelMode.CompilerOptions.GenGProfCode:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Methods for LoadFromXMLConfig
|
// Methods for LoadFromXMLConfig
|
||||||
|
Loading…
Reference in New Issue
Block a user