summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-09-10 08:45:48 (GMT)
committerSwift Review <review@swift.im>2015-10-16 11:22:17 (GMT)
commitf5b5f35868b3f1fd93906d6458cca965f12c6a5f (patch)
tree5c87e9217cc6d4e7a2b1d04b696b5f2d7c794daf
parent3a2b966711dbe6fa937c485d7ad56916219badb2 (diff)
downloadswift-f5b5f35868b3f1fd93906d6458cca965f12c6a5f.zip
swift-f5b5f35868b3f1fd93906d6458cca965f12c6a5f.tar.bz2
Do not require complete Qt installation when building Swiften
Previously, if a base installation of Qt was available but not all Qt modules required by Swift are available Scons would fail configuration. If a basic Qt installation is available SCons will try to configure Swift even if you only want to build Swiften. This commit changes the hard failure in Swift configuration to a warning. This allows only Swiften to be build. In addition, the warning now lists the Qt packages required by Swift. Test-Information: Tested on Arch Linux. Change-Id: I220ea61a7e4af849912e1fb1ae66cbecf5136d29
-rw-r--r--BuildTools/SCons/Tools/qt4.py2
-rw-r--r--Swift/SConscript8
2 files changed, 7 insertions, 3 deletions
diff --git a/BuildTools/SCons/Tools/qt4.py b/BuildTools/SCons/Tools/qt4.py
index 6c54b1e..6d9285c 100644
--- a/BuildTools/SCons/Tools/qt4.py
+++ b/BuildTools/SCons/Tools/qt4.py
@@ -517,7 +517,7 @@ def enable_modules(self, modules, debug=False, crosscompiling=False, version='4'
ret = test_conf.TryAction('pkg-config --exists \'%s\'' % modules_str)[0]
if ret != 1:
test_conf.Finish()
- raise Exception("Qt has not been found using pkg-config.")
+ raise Exception('Qt installation is missing packages. The following are required: %s' % modules_str)
return
test_conf.env.ParseConfig("pkg-config --cflags --libs " + modules_str)
self.AppendUnique(LIBS=test_conf.env["LIBS"], LIBPATH=test_conf.env["LIBPATH"], CPPPATH=test_conf.env["CPPPATH"])
diff --git a/Swift/SConscript b/Swift/SConscript
index 566019c..31b0b94 100644
--- a/Swift/SConscript
+++ b/Swift/SConscript
@@ -13,5 +13,9 @@ if env["SCONS_STAGE"] == "build" :
if "Swift" in env["PROJECTS"] :
print "Warning: Swift requires Qt. Not building the Swift Qt application."
env["PROJECTS"].remove("Swift")
- elif not GetOption("help") and env["target"] == "native":
- SConscript("QtUI/SConscript")
+ elif not GetOption("help") and env["target"] == "native" and "Swift" in env["PROJECTS"] :
+ try :
+ SConscript("QtUI/SConscript")
+ except Exception as e:
+ print "Warning: %s" % str(e)
+ env["PROJECTS"].remove("Swift")