summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-12-01 18:03:46 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-12-01 18:03:46 (GMT)
commit6e50bd41dc3f11815a40dfef500dc0d61ea5d737 (patch)
treee24c6cb209ba69952c1682549b6e25f04d088d6c
parented9a0f344ba78525254cacfb0f446a666b385a40 (diff)
downloadswift-contrib-6e50bd41dc3f11815a40dfef500dc0d61ea5d737.zip
swift-contrib-6e50bd41dc3f11815a40dfef500dc0d61ea5d737.tar.bz2
Override SConscript() with our own, test-aware implementation.
-rw-r--r--QA/UnitTest/SConscript45
-rw-r--r--SConstruct11
-rw-r--r--Swiften/SConscript4
3 files changed, 34 insertions, 26 deletions
diff --git a/QA/UnitTest/SConscript b/QA/UnitTest/SConscript
index 2fd7ce0..1cd92a3 100644
--- a/QA/UnitTest/SConscript
+++ b/QA/UnitTest/SConscript
@@ -2,26 +2,25 @@ import os
Import("env")
-if env["TEST"] :
- myenv = env.Clone()
- myenv.MergeFlags(env["CHECKER_FLAGS"])
- myenv.MergeFlags(env["SLIMBER_FLAGS"])
- myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"])
- myenv.MergeFlags(env["SWIFTOOLS_FLAGS"])
- myenv.MergeFlags(env["SWIFTEN_FLAGS"])
- myenv.MergeFlags(env["CPPUNIT_FLAGS"])
- myenv.MergeFlags(env["LIBIDN_FLAGS"])
- myenv.MergeFlags(env["BOOST_FLAGS"])
- myenv.MergeFlags(env["SQLITE_FLAGS"])
- myenv.MergeFlags(env.get("LIBXML_FLAGS", ""))
- myenv.MergeFlags(env.get("EXPAT_FLAGS", ""))
- myenv.MergeFlags(env["ZLIB_FLAGS"])
- if env.get("HAVE_LIBXML") :
- myenv.Append(CPPDEFINES = ["HAVE_LIBXML"])
- if env.get("HAVE_EXPAT") :
- myenv.Append(CPPDEFINES = ["HAVE_EXPAT"])
- checker = myenv.Program("checker", env["UNITTEST_SOURCES"])
- for i in ["HOME", "USERPROFILE", "APPDATA"]:
- if os.environ.get(i, "") :
- myenv["ENV"][i] = os.environ[i]
- myenv.Test(checker)
+myenv = env.Clone()
+myenv.MergeFlags(env["CHECKER_FLAGS"])
+myenv.MergeFlags(env["SLIMBER_FLAGS"])
+myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"])
+myenv.MergeFlags(env["SWIFTOOLS_FLAGS"])
+myenv.MergeFlags(env["SWIFTEN_FLAGS"])
+myenv.MergeFlags(env["CPPUNIT_FLAGS"])
+myenv.MergeFlags(env["LIBIDN_FLAGS"])
+myenv.MergeFlags(env["BOOST_FLAGS"])
+myenv.MergeFlags(env["SQLITE_FLAGS"])
+myenv.MergeFlags(env.get("LIBXML_FLAGS", ""))
+myenv.MergeFlags(env.get("EXPAT_FLAGS", ""))
+myenv.MergeFlags(env["ZLIB_FLAGS"])
+if env.get("HAVE_LIBXML") :
+ myenv.Append(CPPDEFINES = ["HAVE_LIBXML"])
+if env.get("HAVE_EXPAT") :
+ myenv.Append(CPPDEFINES = ["HAVE_EXPAT"])
+checker = myenv.Program("checker", env["UNITTEST_SOURCES"])
+for i in ["HOME", "USERPROFILE", "APPDATA"]:
+ if os.environ.get(i, "") :
+ myenv["ENV"][i] = os.environ[i]
+myenv.Test(checker)
diff --git a/SConstruct b/SConstruct
index 799929d..6cd55aa 100644
--- a/SConstruct
+++ b/SConstruct
@@ -47,6 +47,13 @@ if env["PLATFORM"] == "darwin" :
if env["PLATFORM"] == "win32" :
env.Tool("WindowsBundle", toolpath = ["#/BuildTools/SCons/Tools"])
+# Override SConscript to handle tests
+oldSConscript = SConscript
+def SConscript(*arguments, **keywords) :
+ if not keywords.get("test_only", False) or env["TEST"] :
+ return apply(oldSConscript, arguments, keywords)
+
+
# Default compiler flags
env["CCFLAGS"] = env.get("ccflags", [])
env["LINKFLAGS"] = env.get("linkflags", [])
@@ -317,7 +324,7 @@ SConscript(dirs = [
"3rdParty/SQLite"])
# Checker
-SConscript(dirs = ["QA/Checker"])
+SConscript(dirs = ["QA/Checker"], test_only = True)
# Libraries
SConscript(dirs = [
@@ -334,7 +341,7 @@ for dir in os.listdir(".") :
SConscript(sconscript)
# Unit test runner
-SConscript(dirs = ["QA/UnitTest"])
+SConscript(dirs = ["QA/UnitTest"], test_only = True)
################################################################################
# Print summary
diff --git a/Swiften/SConscript b/Swiften/SConscript
index 6c13edb..0009125 100644
--- a/Swiften/SConscript
+++ b/Swiften/SConscript
@@ -104,8 +104,10 @@ SConscript(dirs = [
"History",
"StreamStack",
"LinkLocal",
- "QA",
])
+SConscript(test_only = True, dirs = [
+ "QA",
+ ])
myenv.StaticLibrary("Swiften", sources + swiften_env["SWIFTEN_OBJECTS"])