Skip to content

Commit c21f41e

Browse files
committed
Merge branch 'dev/OSUSC-5111-allow-absolute-path-vcxproj' into 'main'
Allow specifying relative or absolute paths in vcxproj files See merge request Sharpmake/sharpmake!604
2 parents 519b36d + 4ab0696 commit c21f41e

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

Sharpmake.Generators/VisualStudio/Vcxproj.Template.cs

+9-9
Original file line numberDiff line numberDiff line change
@@ -253,31 +253,31 @@ public static class Project
253253
";
254254

255255
public static string ProjectFilesHeader =
256-
@" <ClInclude Include=""[file.FileNameProjectRelative]"" />
256+
@" <ClInclude Include=""[file.FilePath]"" />
257257
";
258258

259259
public static string ProjectFilesNatvis =
260-
@" <Natvis Include=""[file.FileNameProjectRelative]"" />
260+
@" <Natvis Include=""[file.FilePath]"" />
261261
";
262262

263263
public static string ProjectFilesSourceBegin =
264-
@" <ClCompile Include=""[file.FileNameProjectRelative]""";
264+
@" <ClCompile Include=""[file.FilePath]""";
265265

266266
public static string ProjectFilesResourceBegin =
267-
@" <ResourceCompile Include=""[file.FileNameProjectRelative]""";
267+
@" <ResourceCompile Include=""[file.FilePath]""";
268268

269269
public static string ProjectFilesPRIResources =
270-
@" <PRIResource Include=""[file.FileNameProjectRelative]"">
270+
@" <PRIResource Include=""[file.FilePath]"">
271271
<FileType>Document</FileType>
272272
</PRIResource>
273273
";
274274

275275
public static string ProjectFilesNone =
276-
@" <None Include=""[file.FileNameProjectRelative]"" />
276+
@" <None Include=""[file.FilePath]"" />
277277
";
278278

279279
public static string ProjectFilesCustomSourceBegin =
280-
@" <[type] Include=""[file.FileNameProjectRelative]""";
280+
@" <[type] Include=""[file.FilePath]""";
281281

282282

283283
public static string ProjectFilesResourceEnd =
@@ -465,11 +465,11 @@ internal static class Filters
465465
@"</Project>";
466466

467467
public static string FileNoFilter =
468-
@" <[type] Include=""[file.FileNameProjectRelative]"" />
468+
@" <[type] Include=""[file.FilePath]"" />
469469
";
470470

471471
public static string FileWithFilter =
472-
@" <[type] Include=""[file.FileNameProjectRelative]"">
472+
@" <[type] Include=""[file.FilePath]"">
473473
<Filter>[file.FilterPath]</Filter>
474474
</[type]>
475475
";

Sharpmake.Generators/VisualStudio/Vcxproj.cs

+3
Original file line numberDiff line numberDiff line change
@@ -2161,6 +2161,7 @@ public void TryGeneratePackageReferences(
21612161
public class ProjectFile
21622162
{
21632163
public string FileName;
2164+
public string FilePath;
21642165
public string FileNameSourceRelative;
21652166
public string FileNameProjectRelative;
21662167
public string FileNameWithoutExtension;
@@ -2174,6 +2175,8 @@ public ProjectFile(IGenerationContext context, string fileName)
21742175
FileNameProjectRelative = Util.PathGetRelative(context.ProjectDirectoryCapitalized, FileName, true);
21752176
FileNameSourceRelative = Util.PathGetRelative(context.ProjectSourceCapitalized, FileName, true);
21762177

2178+
FilePath = context.Configuration?.PreferRelativePaths == false ? Path.GetFullPath(fileName) : FileNameProjectRelative;
2179+
21772180
FileExtension = Path.GetExtension(FileName);
21782181
FileNameWithoutExtension = Path.GetFileNameWithoutExtension(FileName);
21792182

0 commit comments

Comments
 (0)