Skip to content

Cleanup Visual Studio project files a bit

Chun-wei Fan requested to merge msvcproj-nmake-install into gtk-3-24

Hi,

This attempts to update and clean up the Visual Studio project files in regards to installing the build results, by:

  • Splitting out the sources listings for GdkWin32, GdkBroadway, libgtk and libgail-util, so that we will no longer need to use a dist-hook to generate the property sheets that we use for installing the build results.
  • Use an NMake Makefile so that we can accomplish the above, and make the project files call the NMake Makefile as needed, which will reduce repetition in the Visual Studio build files, and remove some items from the autotools build files.
  • Makes updating the project files easier as a result.
  • Drop two property sheets where we could integrate what they did into the project file that uses them by using MSBuild trickery, i.e. the Condition= directives, for Visual Studio 2010 and later.
  • Make the Visual Studio 2010+ property sheets shared instead of copying them during make dist.
  • At the time of writing, update the VS2010+ project templates (*.vcxprojin) to remove repetitive items, and distinguish between platform- and/or configuration-specific settings using MSBuild trickery, i.e. the Condition= directives.
  • Use the source listings that were split out in the NMake Makefiles so that we can have the build rules to build the introspection files purely via NMake without needing the autotools dist-hook to generate the rules and file listings needed for introspection. Drop the related autotools dist-hook bits as a result. In regards to Visual Studio, the dist-hook bits are now used to generate the full project files where there are templates being used (i.e. *.vc[x]projin->*.vc[x]proj and *.vcxproj.filtersin->*.vcxproj.filters

Please note that this is an one-on-one replacement for the existing property sheet-based installation methods, plus a copy of the built <libname>-3.0.lib to <libname>-3.lib to better conform to the Meson and other autotools build. Other enhancements and additions will come in subsequent MRs

With blessings, thank you!

Edited by Chun-wei Fan

Merge request reports