IDE: implemented macros for project target filename

git-svn-id: trunk@9699 -
This commit is contained in:
mattias 2006-08-03 18:15:58 +00:00
parent be15116595
commit e573a70ddb

View File

@ -42,7 +42,7 @@ interface
uses uses
Classes, SysUtils, FileProcs, FileUtil, LCLProc, Classes, SysUtils, FileProcs, FileUtil, LCLProc,
Laz_XMLCfg, ProjectIntf, Laz_XMLCfg, ProjectIntf, MacroIntf,
IDEProcs, LazConf, TransferMacros; IDEProcs, LazConf, TransferMacros;
type type
@ -1353,19 +1353,20 @@ var
UnitOutDir: String; UnitOutDir: String;
OutFilename: String; OutFilename: String;
begin begin
if (TargetFilename<>'') and FilenameIsAbsolute(TargetFilename) then begin Result:=TargetFilename;
IDEMacros.SubstituteMacros(Result);
if (Result<>'') and FilenameIsAbsolute(Result) then begin
// fully specified target filename // fully specified target filename
Result:=TargetFilename; end else if Result<>'' then begin
end else if TargetFilename<>'' then begin
// TargetFilename is relative to project directory // TargetFilename is relative to project directory
Result:=AppendPathDelim(ExtractFilePath(MainSourceFileName))+TargetFilename; Result:=AppendPathDelim(ExtractFilePath(MainSourceFileName))+Result;
end else begin end else begin
// calculate output directory // calculate output directory
UnitOutDir:=GetUnitOutPath(false); UnitOutDir:=GetUnitOutPath(false);
if UnitOutDir='' then if UnitOutDir='' then
UnitOutDir:=ExtractFilePath(MainSourceFileName); UnitOutDir:=ExtractFilePath(MainSourceFileName);
if TargetFilename<>'' then if Result<>'' then
OutFilename:=TargetFilename OutFilename:=Result
else else
OutFilename:=ExtractFileNameOnly(MainSourceFileName); OutFilename:=ExtractFileNameOnly(MainSourceFileName);
//debugln('TBaseCompilerOptions.CreateTargetFilename MainSourceFileName=',MainSourceFileName,' OutFilename=',OutFilename,' TargetFilename=',TargetFilename); //debugln('TBaseCompilerOptions.CreateTargetFilename MainSourceFileName=',MainSourceFileName,' OutFilename=',OutFilename,' TargetFilename=',TargetFilename);