From d2f67c83aa40f2a273f17c13c6c3ea94f7f73c25 Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Mon, 1 Oct 2018 12:11:31 +0200
Subject: Add ability to specify MSVC runtime library

Test-Information:

Builds in default configuration on Windows 10 with MSVS 2015.

Change-Id: I82e6a317820168d471694c8ee1f33b652515c0d9

diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot
index 40f2425..80831a1 100644
--- a/BuildTools/SCons/SConscript.boot
+++ b/BuildTools/SCons/SConscript.boot
@@ -108,6 +108,7 @@ vars.Add(BoolVariable("enable_variants", "Build in a separate dir under build/,
 vars.Add(BoolVariable("experimental_ft", "Build experimental file transfer", "yes"))
 vars.Add(BoolVariable("experimental", "Build experimental features", "no"))
 vars.Add(BoolVariable("set_iterator_debug_level", "Set _ITERATOR_DEBUG_LEVEL=0", "yes"))
+vars.Add(EnumVariable("msvc_runtime", "Choose MSVC runtime library", "MD", ["MT", "MTd", "MD", "MDd"]))
 vars.Add(BoolVariable("unbound", "Build bundled ldns and unbound. Use them for DNS lookup.", "no"))
 vars.Add(BoolVariable("check_headers", "Independently build compilation units for all Swiften headers for detecting missing dependencies.", "no"))
 vars.Add("win_target_arch", "Target architecture for Windows builds. x86 for 32-bit (default) or x86_64 for 64-bit.", "x86")
@@ -276,11 +277,11 @@ if env["debug"] :
         if env["set_iterator_debug_level"] :
             env.Append(CPPDEFINES = ["_ITERATOR_DEBUG_LEVEL=0"])
         env.Append(LINKFLAGS = ["/OPT:NOREF"])
-        env.Append(CCFLAGS = ["/MD"])
     else :
         env.Append(CCFLAGS = ["-g"])
-elif env["PLATFORM"] == "win32" :
-    env.Append(CCFLAGS = ["/MD"])
+
+if env["PLATFORM"] == "win32" :
+    env.AppendUnique(CCFLAGS = ["/{}".format(env.get("msvc_runtime"))])
 
 if env.get("universal", 0) :
     assert(env["PLATFORM"] == "darwin")
-- 
cgit v0.10.2-6-g49f6