From 935012a280c8a9e7e0f067f4d0cb1919d30defa0 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sat, 20 Feb 2016 06:49:03 +0100 Subject: [PATCH] dub, fix issue with the sourceFiles property --- src/ce_dubproject.pas | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ce_dubproject.pas b/src/ce_dubproject.pas index 0fb58c84..cabaafaa 100644 --- a/src/ce_dubproject.pas +++ b/src/ce_dubproject.pas @@ -569,6 +569,17 @@ begin lst.Add(patchPlateformPath(arr.Strings[i])); end; end; +procedure tryAddRelOrAbsFile(const fname: string); +begin + if not isDlangCompilable(fname.extractFileExt) then + exit; + if fname.fileExists and FilenameIsAbsolute(fname) then + begin + fSrcs.Add(patchPlateformPath(ExtractRelativepath(fBasePath, fname))) + end + else if patchPlateformPath(expandFilenameEx(fBasePath, fname)).fileExists then + fSrcs.Add(fname); +end; procedure tryAddFromFolder(const pth: string); var abs: string; @@ -616,7 +627,7 @@ begin begin arr := TJSONArray(item); for i := 0 to arr.Count-1 do - fSrcs.Add(patchPlateformPath(ExtractRelativepath(fBasePath, arr.Strings[i]))); + tryAddRelOrAbsFile(arr.Strings[i]); end; conf := getCurrentCustomConfig; if conf.isNotNil then @@ -644,7 +655,7 @@ begin begin arr := TJSONArray(item); for i := 0 to arr.Count-1 do - fSrcs.Add(patchPlateformPath(ExtractRelativepath(fBasePath, arr.Strings[i]))); + tryAddRelOrAbsFile(arr.Strings[i]); end; end; deleteDups(fSrcs);