Improve NMake Makefiles (later Visual Studio vesions, ARM64 support, building bundled GLib, etc)

Chun-wei Fan requested to merge fanc999/pkg-config:nmake-improvements into master


This attempts to improve the NMake Makefiles in the following ways:

  • Make the build artifacts and results separated by Visual Studio versions as well, and ensure that building with different compiler versions and target platform won't clash if they are run at the same time.
  • Split out portions of the NMake Makefiles in regards to build rules and source/object listing collection
  • Allow configuring where the existing GLib installation can be found
  • Improve support for later Visual Studio versions (up to 2022), and support ARM64 builds out-of-the-box.
  • Support building the bundled GLib sources with NMake builds, which is now the default; the former method of using an existing GLib installation can be done by passing HAVE_GLIB=1 in the NMake commandline. Notice that the bundled GLib was updated a bit to support newer Visual Studio versions and 64-bit builds better, incorporating relevant changes that were made upstream.

With blessings, thank you!

Merge request reports