summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2020-06-25 10:39:04 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2020-06-25 16:55:00 +0800
commitf12c921b3096f770938dfea61203b22e5085418d (patch)
treea1eab3604452b8fff231cbeef67792c5205f4cec /data
parent93d941b0bde0fb5db84ddc5b051566f1925d99ec (diff)
Meson/Visual Studio builds: Include toolset version by default
This makes the built DLL and .lib's contain the toolset version if the build is carried out using Visual Studio 2017 or later, unless the 'msvc14x-parallel-installable' option is set to be false during configuration. The reasoning behind this change is that there may be subtle problems when, for instance, one tries to link to a Visual Studio 2017-built cairomm with Visual Studio 2019. This is unfortunate as Microsoft did try hard to make interoperating between binaries built with Visual Studio 2017 and 2019 as easy as possible in terms of ABI and API, but unfortunately this may hit the corner cases where this compatibility does not work. As the name suggests, this attempts to make Visual Studio 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding possible breakages caused by such subtle differences.
Diffstat (limited to 'data')
-rw-r--r--data/cairomm.pc.in2
-rw-r--r--data/meson.build3
2 files changed, 3 insertions, 2 deletions
diff --git a/data/cairomm.pc.in b/data/cairomm.pc.in
index f7c2d69..b6d19a2 100644
--- a/data/cairomm.pc.in
+++ b/data/cairomm.pc.in
@@ -15,5 +15,5 @@ Description: C++ binding for the cairo graphics library
Version: @PACKAGE_VERSION@
URL: http://www.cairographics.org/cairomm/
Requires: @CAIROMM_MODULES@
-Libs: -L${libdir} -lcairomm-@CAIROMM_API_VERSION@ @CAIROMM_EXTRA_LIBS@
+Libs: -L${libdir} -lcairomm@MSVC_TOOLSET_VER@-@CAIROMM_API_VERSION@ @CAIROMM_EXTRA_LIBS@
Cflags: -I${includedir}/@CAIROMM_MODULE_NAME@ -I${libdir}/@CAIROMM_MODULE_NAME@/include
diff --git a/data/meson.build b/data/meson.build
index 5d9567c..509ed36 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -2,7 +2,7 @@
# Input: install_prefix, install_libdir, install_datadir, install_includedir,
# install_pkgconfigdir, cairomm_pcname, cairomm_api_version,
-# cairomm_requires
+# cairomm_requires, msvc14x_toolset_ver
# Output: -
pkg_conf_data = configuration_data()
@@ -17,6 +17,7 @@ pkg_conf_data.set('CAIROMM_MODULE_NAME', cairomm_pcname)
pkg_conf_data.set('CAIROMM_API_VERSION', cairomm_api_version)
pkg_conf_data.set('CAIROMM_MODULES', cairomm_requires)
pkg_conf_data.set('CAIROMM_EXTRA_LIBS', cairomm_extra_libs)
+pkg_conf_data.set('MSVC_TOOLSET_VER', msvc14x_toolset_ver)
configure_file(
input: 'cairomm.pc.in',