[glib: 2/3] meson: Use the b_vscrt option for selecting the CRT



commit b462e2c80ce77b7edc4a90b20a14c8bf1d9f5492
Author: Nirbheek Chauhan <nirbheek centricular com>
Date:   Thu Mar 12 17:42:27 2020 +0530

    meson: Use the b_vscrt option for selecting the CRT
    
    This option has been available since 0.48, and we should use it
    instead of only guessing based on buildtype.

 gio/tests/meson.build |  2 +-
 meson.build           | 16 ++++++++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index 788cf978b..755033be8 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -105,7 +105,7 @@ if not dbus1_dep.found()
     # MSVC: Search for the DBus library by the configuration, which corresponds
     # to the output of CMake builds of DBus.  Note that debugoptimized
     # is really a Release build with .PDB files.
-    if buildtype == 'debug'
+    if vs_crt == 'debug'
       dbus1_dep = cc.find_library('dbus-1d', required : false)
     else
       dbus1_dep = cc.find_library('dbus-1', required : false)
diff --git a/meson.build b/meson.build
index ab4d487ba..1e3ba4d38 100644
--- a/meson.build
+++ b/meson.build
@@ -210,9 +210,17 @@ else
 endif
 glibconfig_conf.set('glib_os', glib_os)
 
-# We need to know the build type to determine what .lib files we need on Visual Studio
-# for dependencies that don't normally come with pkg-config files for Visual Studio builds
-buildtype = get_option('buildtype')
+# We need to know the CRT being used to determine what .lib files we need on
+# Visual Studio for dependencies that don't normally come with pkg-config files
+vs_crt = 'release'
+vs_crt_opt = get_option('b_vscrt')
+if vs_crt_opt in ['mdd', 'mtd']
+  vs_crt = 'debug'
+elif vs_crt_opt == 'from_buildtype'
+  if get_option('buildtype') == 'debug'
+    vs_crt = 'debug'
+  endif
+endif
 
 # Use debug/optimization flags to determine whether to enable debug or disable
 # cast checks
@@ -1852,7 +1860,7 @@ else
     # MSVC: Search for the PCRE library by the configuration, which corresponds
     # to the output of CMake builds of PCRE.  Note that debugoptimized
     # is really a Release build with .PDB files.
-      if buildtype == 'debug'
+      if vs_crt == 'debug'
         pcre = cc.find_library('pcred', required : false)
       else
         pcre = cc.find_library('pcre', required : false)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]