ubisoft / Sharpmake

Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc.
Apache License 2.0
922 stars 168 forks source link

Fixed system include paths handling in compilation database #354

Open artamonovoleg opened 5 months ago

artamonovoleg commented 5 months ago

Fixed issue where Sharpmake.Project.Configuration.IncludeSystemPaths was ignored when generating a compilation database

jspelletier commented 5 months ago

There is something I don't understand. GetPlatformIncludePathsWithPrefixImpl seems to be adding IncludeSystemPaths. Also, I think your code might introduce a discrepency between what is generated in bff/vcxproj and compilation database since you are bypassing GetPlatformIncludePathsWithPrefixImpl.

Might be good to add some samples/tests as well

jspelletier commented 5 months ago

in fact there is a sample already: https://github.com/ubisoft/Sharpmake/tree/main/samples/CompileCommandDatabase