diff options
-rw-r--r-- | BuildTools/SCons/SConscript.boot | 7 |
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"] = [] |