summaryrefslogtreecommitdiff
path: root/gio
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2020-06-18 11:34:39 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2020-06-18 14:31:29 +0800
commitdfa750203deb26f57fc1d2024366bd9fbd17ad76 (patch)
treeae1dcf1c5be0dc1290118435c5ba79dc15d90710 /gio
parent2db1529957783a4f141892586a4d6a6528665a1f (diff)
downloadglibmm-dfa750203deb26f57fc1d2024366bd9fbd17ad76.tar.gz
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 are subtle problems when, for instance, one tries to link to a Visual Studio 2017-built glibmm when building gtkmm and libxml++ with Visual Studio 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 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding breakages caused by such subtle differences.
Diffstat (limited to 'gio')
-rw-r--r--gio/giomm-uninstalled.pc.in2
-rw-r--r--gio/giomm.pc.in2
-rw-r--r--gio/giomm/meson.build6
3 files changed, 5 insertions, 5 deletions
diff --git a/gio/giomm-uninstalled.pc.in b/gio/giomm-uninstalled.pc.in
index a72da5b9..be132c61 100644
--- a/gio/giomm-uninstalled.pc.in
+++ b/gio/giomm-uninstalled.pc.in
@@ -6,5 +6,5 @@ Description: C++ binding for gio, not installed
Version: @PACKAGE_VERSION@
URL: http://www.gtkmm.org/
Requires: gio-2.0 @GLIBMM_MODULE_NAME@-uninstalled
-Libs: ${pc_top_builddir}/${pcfiledir}/giomm/libgiomm-@GIOMM_API_VERSION@.la
+Libs: ${pc_top_builddir}/${pcfiledir}/giomm/libgiomm@MSVC_TOOLSET_VER@-@GIOMM_API_VERSION@.la
Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
diff --git a/gio/giomm.pc.in b/gio/giomm.pc.in
index 2ec76a72..702fd777 100644
--- a/gio/giomm.pc.in
+++ b/gio/giomm.pc.in
@@ -15,5 +15,5 @@ Description: C++ binding for gio
Version: @PACKAGE_VERSION@
URL: http://www.gtkmm.org/
Requires: gio-2.0 @GLIBMM_MODULE_NAME@
-Libs: -L${libdir} -lgiomm-@GIOMM_API_VERSION@
+Libs: -L${libdir} -lgiomm@MSVC_TOOLSET_VER@-@GIOMM_API_VERSION@
Cflags: -I${includedir}/@GIOMM_MODULE_NAME@ -I${libdir}/@GIOMM_MODULE_NAME@/include
diff --git a/gio/giomm/meson.build b/gio/giomm/meson.build
index b60435ef..0e9c3115 100644
--- a/gio/giomm/meson.build
+++ b/gio/giomm/meson.build
@@ -3,7 +3,7 @@
# Input: giomm_build_dep, giomm_pcname, maintainer_mode, project_source_root,
# generate_binding_py, handle_built_files_py, m4_files, pm_files,
# glibmm_libversion, install_includedir, python3, giomm_rc, gmmproc_dir,
-# is_host_windows, gmmproc, generate_wrap_init_pl
+# is_host_windows, gmmproc, generate_wrap_init_pl, giomm_libname
# Output: giomm_hg_ccg_basenames, giomm_extra_h_files, built_files_root,
# giomm_built_h_file_targets, giomm_dep
@@ -303,7 +303,7 @@ if maintainer_mode
extra_include_dirs = ['..', '..' / '..' / 'glib']
- giomm_library = library(giomm_pcname, extra_giomm_objects,
+ giomm_library = library(giomm_libname, extra_giomm_objects,
giomm_used_built_cc_file_targets, giomm_extra_cc_files, built_dummy_h_file_target,
version: glibmm_libversion,
include_directories: extra_include_dirs,
@@ -351,7 +351,7 @@ else # not maintainer_mode
'..' / '..' / 'glib', '..' / '..' / 'untracked' / 'glib',
]
- giomm_library = library(giomm_pcname, extra_giomm_objects,
+ giomm_library = library(giomm_libname, extra_giomm_objects,
built_cc_files, giomm_extra_cc_files,
version: glibmm_libversion,
include_directories: extra_include_dirs,