Skip to content

Meson/Visual Studio builds: Include toolset version by default (glibmm-2-64 branch)

Chun-wei Fan requested to merge meson-msvc-toolset-2-64 into glibmm-2-64

Hi,

From the commit message:

This makes the built DLL and .lib's contain the toolset version if the build is carried out using Visual Studio 2015 or later, unless the 'msvc14x-parallel-installable' option is set to be false during configuration.

The reasoning behind this change is that there are subtle problems when, for instance, one tries to link to a Visual Studio 2015-built glibmm when building gtkmm and libxml++ with Visual Studio 2017 or 2019. This is unfortunate as Microsoft did try hard to make interoperating between binaries built with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API, but unfortunately this hits the corner cases where this compatibility does not work.

As the name suggests, this attempts to make Visual Studio 2015, 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding breakages caused by such subtle differences.

If this method is acceptable, I do intend to do such changes for the -mm components that build upon glibmm that have Meson and Visual Studio build support as well. Non Visual Studio builds should not be affected by this change.

With blessings, thank you!

Edited by Chun-wei Fan

Merge request reports