diff options
author | Lyubomir Vasilev <lyubomirv@gmx.com> | 2020-11-26 23:19:23 +0200 |
---|---|---|
committer | Lyubomir Vasilev <lyubomirv@gmx.com> | 2020-12-03 23:46:16 +0200 |
commit | e52c9c26fc43e93d6d4a86360189501368320f6e (patch) | |
tree | cac1422c5fc0e9a12c29ad9753c5d1e32147c569 /platform/windows/detect.py | |
parent | ed2f84735b0fe6b75c823716426d62e6b80e7ae3 (diff) | |
download | redot-engine-e52c9c26fc43e93d6d4a86360189501368320f6e.tar.gz |
Add 'use_static_cpp' option for MinGW and MSVC builds
Diffstat (limited to 'platform/windows/detect.py')
-rw-r--r-- | platform/windows/detect.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/platform/windows/detect.py b/platform/windows/detect.py index e0b2a52014..ee13e3c774 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -71,6 +71,7 @@ def get_opts(): BoolVariable("use_mingw", "Use the Mingw compiler, even if MSVC is installed. Only used on Windows.", False), BoolVariable("use_llvm", "Use the LLVM compiler", False), BoolVariable("use_thinlto", "Use ThinLTO", False), + BoolVariable("use_static_cpp", "Link MinGW/MSVC C++ runtime libraries statically", True), ] @@ -221,7 +222,11 @@ def configure_msvc(env, manual_msvc_config): ## Compile/link flags - env.AppendUnique(CCFLAGS=["/MT", "/Gd", "/GR", "/nologo"]) + if env["use_static_cpp"]: + env.AppendUnique(CCFLAGS=["/MT"]) + else: + env.AppendUnique(CCFLAGS=["/MD"]) + env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"]) # Force to use Unicode encoding env.AppendUnique(CCFLAGS=["/utf-8"]) env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++ @@ -373,12 +378,14 @@ def configure_mingw(env): mingw_prefix = "" if env["bits"] == "32": - env.Append(LINKFLAGS=["-static"]) - env.Append(LINKFLAGS=["-static-libgcc"]) - env.Append(LINKFLAGS=["-static-libstdc++"]) + if env["use_static_cpp"]: + env.Append(LINKFLAGS=["-static"]) + env.Append(LINKFLAGS=["-static-libgcc"]) + env.Append(LINKFLAGS=["-static-libstdc++"]) mingw_prefix = env["mingw_prefix_32"] else: - env.Append(LINKFLAGS=["-static"]) + if env["use_static_cpp"]: + env.Append(LINKFLAGS=["-static"]) mingw_prefix = env["mingw_prefix_64"] if env["use_llvm"]: |