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
945 stars 171 forks source link

Add option to force project references export #220

Open ShawnCZek opened 2 years ago

ShawnCZek commented 2 years ago

Similarly to #219, I am working on sharing the precompiled header between multiple projects. To make this possible, the other projects must be exported as a reference. MSVC does otherwise not wait for the compilation to finish.

Right now, project references are not exported for static libraries. And while ExportAdditionalLibrariesEvenForStaticLib exists as a configuration option, it does more things at once, often resulting in already defined in X.lib(X.dll); second definition ignored warnings.

Therefore, this pull request adds an option to force the export of these references regardless of the output type of the project.

jspelletier commented 1 year ago

Hi, Sorry for the lack of updates. Lambert left Ubisoft and we had to rebuild a new maintainer group.

We will take a look at this MR soon.

bchampoux commented 1 year ago

@jspelletier is this related to https://github.com/ubisoft/Sharpmake/issues/146? it's the same config option

jspelletier commented 1 year ago

@ShawnCZek could you add/modify some sample using this?

ShawnCZek commented 1 year ago

@jspelletier I can take a look at trying to integrate this into existing samples. However, as pointed out earlier here, #253 basically collides with this PR. And if that one is merged, this can be closed.

jspelletier commented 1 year ago

@ShawnCZek The problem with #253 is it doesn't have an explicit option and will affect our existing generated files so it won't ever be merged in its current state,

ShawnCZek commented 1 year ago

Perfect. Thank you for the answer! In the following days, I will take a look at modifying the existing samples to integrate this change. Once that is done, I will mention you here again.