From f5b5f35868b3f1fd93906d6458cca965f12c6a5f Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Thu, 10 Sep 2015 10:45:48 +0200 Subject: 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 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") -- cgit v0.10.2-6-g49f6