IDEIntf: added TLazCompilerOptions.GetUnitPath

git-svn-id: trunk@33811 -
This commit is contained in:
mattias 2011-11-27 00:14:34 +00:00
parent 0079318916
commit eecec379ff
4 changed files with 34 additions and 14 deletions

View File

@ -222,12 +222,6 @@ type
TLocalSubstitutionEvent = function(const s: string; TLocalSubstitutionEvent = function(const s: string;
PlatformIndependent: boolean): string of object; PlatformIndependent: boolean): string of object;
TCompilerOptionsParseType = (
coptUnparsed, // no macros resolved
coptParsed, // all macros resolved
coptParsedPlatformIndependent // all but platform macros resolved
);
TInheritedCompOptsParseTypesStrings = TInheritedCompOptsParseTypesStrings =
array[TCompilerOptionsParseType] of TInheritedCompOptsStrings; array[TCompilerOptionsParseType] of TInheritedCompOptsStrings;
@ -528,25 +522,25 @@ type
function GetEffectiveTargetCPU: string; override; function GetEffectiveTargetCPU: string; override;
function GetUnitPath(RelativeToBaseDir: boolean; function GetUnitPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetIncludePath(RelativeToBaseDir: boolean; function GetIncludePath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetSrcPath(RelativeToBaseDir: boolean; function GetSrcPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetDebugPath(RelativeToBaseDir: boolean; function GetDebugPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetLibraryPath(RelativeToBaseDir: boolean; function GetLibraryPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetUnitOutputDirectory(RelativeToBaseDir: boolean): string; override; function GetUnitOutputDirectory(RelativeToBaseDir: boolean): string; override;
function GetUnitOutPath(RelativeToBaseDir: boolean; function GetUnitOutPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed): string; Parsed: TCompilerOptionsParseType = coptParsed): string;
function GetObjectPath(RelativeToBaseDir: boolean; function GetObjectPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed; Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; WithBaseDir: boolean = true): string; override;
function GetPath(Option: TParsedCompilerOptString; function GetPath(Option: TParsedCompilerOptString;
InheritedOption: TInheritedCompilerOption; InheritedOption: TInheritedCompilerOption;
RelativeToBaseDir: boolean; RelativeToBaseDir: boolean;

View File

@ -36,7 +36,9 @@ interface
uses uses
Classes, SysUtils, FileProcs, FileUtil, IDEProcs, CodeToolManager, Classes, SysUtils, FileProcs, FileUtil, IDEProcs, CodeToolManager,
DefineTemplates, CompilerOptions, TransferMacros, LinkScanner, DefineTemplates, LinkScanner,
CompOptsIntf,
CompilerOptions, TransferMacros,
LazarusIDEStrConsts; LazarusIDEStrConsts;

View File

@ -7,7 +7,7 @@ interface
uses uses
Classes, SysUtils, LCLProc, FileUtil, Forms, Controls, Dialogs, Graphics, Classes, SysUtils, LCLProc, FileUtil, Forms, Controls, Dialogs, Graphics,
Buttons, StdCtrls, LCLType, InterfaceBase, Buttons, StdCtrls, LCLType, InterfaceBase,
IDEOptionsIntf, MacroIntf, IDEDialogs, IDEOptionsIntf, MacroIntf, IDEDialogs, CompOptsIntf,
Project, CompilerOptions, LazarusIDEStrConsts, PathEditorDlg, LazConf, Project, CompilerOptions, LazarusIDEStrConsts, PathEditorDlg, LazConf,
IDEProcs, CheckCompilerOpts, ShowCompilerOpts, MainIntf; IDEProcs, CheckCompilerOpts, ShowCompilerOpts, MainIntf;

View File

@ -91,6 +91,12 @@ type
TCompilerDbgSymbolType = (dsAuto, dsStabs, dsDwarf2, dsDwarf2Set, dsDwarf3); TCompilerDbgSymbolType = (dsAuto, dsStabs, dsDwarf2, dsDwarf2Set, dsDwarf3);
TCompilerOptionsParseType = (
coptUnparsed, // no macros resolved
coptParsed, // all macros resolved
coptParsedPlatformIndependent // all but platform macros resolved
);
const const
crAll = [crCompile, crBuild, crRun]; crAll = [crCompile, crBuild, crRun];
@ -301,6 +307,24 @@ type
public public
function GetEffectiveTargetOS: string; virtual; abstract; function GetEffectiveTargetOS: string; virtual; abstract;
function GetEffectiveTargetCPU: string; virtual; abstract; function GetEffectiveTargetCPU: string; virtual; abstract;
function GetUnitPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
function GetIncludePath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
function GetSrcPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
function GetDebugPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
function GetLibraryPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
function GetObjectPath(RelativeToBaseDir: boolean;
Parsed: TCompilerOptionsParseType = coptParsed;
WithBaseDir: boolean = true): string; virtual; abstract;
public public
// search paths: // search paths:
property IncludePath: String read GetIncludePaths write SetIncludePaths; // alias IncPath property IncludePath: String read GetIncludePaths write SetIncludePaths; // alias IncPath