summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BuildTools/SCons/SConscript.boot7
1 files changed, 7 insertions, 0 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot
index 3e8ab96..14f72c7 100644
--- a/BuildTools/SCons/SConscript.boot
+++ b/BuildTools/SCons/SConscript.boot
@@ -155,60 +155,67 @@ env.Tool("SLOCCount", toolpath = ["#/BuildTools/SCons/Tools"])
if env["max_jobs"] :
try :
import multiprocessing
SetOption("num_jobs", multiprocessing.cpu_count())
except NotImplementedError :
pass
except ImportError :
pass
# Set speed options
env.Decider("MD5-timestamp")
env.SetOption("max_drift", 1)
env.SetOption("implicit_cache", True)
# Set the default compiler to CLang on OS X, and set the necessary flags
if env["PLATFORM"] == "darwin" and env["target"] == "native" :
if "cc" not in env :
env["CC"] = "clang"
if platform.machine() == "x86_64" :
env["CCFLAGS"] = ["-arch", "x86_64"]
if "cxx" not in env :
env["CXX"] = "clang++"
# Compiling Qt5 in C++0x mode includes headers that we don't have
if not env["qt5"] :
env["CXXFLAGS"] = ["-std=c++11"]
if "link" not in env :
env["LINK"] = "clang"
if platform.machine() == "x86_64" :
env.Append(LINKFLAGS = ["-arch", "x86_64"])
+# Set QT_SELECT variable to enable building on systems that have Qt4 and Qt5 installed and use qtselect
+if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" :
+ if env["qt5"] :
+ env["ENV"]["QT_SELECT"] = "qt5"
+ else:
+ env["ENV"]["QT_SELECT"] = "qt4"
+
# Check whether we are running inside scan-build, and override compiler if so
if "CCC_ANALYZER_HTML" in os.environ :
for key, value in os.environ.items() :
if key.startswith("CCC_") or key.startswith("CLANG") :
env["ENV"][key] = value
env["CC"] = os.environ["CC"]
env["CXX"] = os.environ["CXX"]
# Override the compiler with custom variables set at config time
if "cc" in env :
env["CC"] = env["cc"]
if "cxx" in env :
env["CXX"] = env["cxx"]
if "ar" in env :
env["AR"] = env["ar"]
if "link" in env :
env["SHLINK"] = env["link"]
env["LINK"] = env["link"]
for flags_type in ["ccflags", "cxxflags", "linkflags"] :
if flags_type in env :
if isinstance(env[flags_type], str) :
# FIXME: Make the splitting more robust
env[flags_type.upper()] = env[flags_type].split(" ")
else :
env[flags_type.upper()] = env[flags_type]
# This isn't a real flag (yet) AFAIK. Be sure to append it to the CXXFLAGS
# where you need it
env["OBJCCFLAGS"] = []