ocarina/Sconstruct

74 lines
1.9 KiB
Python

#!/usr/bin/python
import os
# Configuration variables
CONFIG_VERSION = "6.1.3"
CONFIG_DEBUG = False
CONFIG_TEST_VALGRIND = False
CONFIG_TEST_COVERAGE = False
CONFIG_TEST_CPPCHECK = False
# Set up default environment
CONFIG_CCFLAGS = [ "-O2" ]
if CONFIG_DEBUG == True:
CONFIG_CCFLAGS = [ "-Wall", "-Werror", "-g", "-DCONFIG_DEBUG" ]
class OEnvironment(Environment):
Debug = False
Version = 0
Valgrind = False
Coverage = False
CppCheck = False
def __init__(self, CCFLAGS = CONFIG_CCFLAGS):
Environment.__init__(self, CCFLAGS = CCFLAGS)
self.Append(CPPPATH = os.path.abspath("include"))
self.Append(CXXCOMSTR = "C++ $TARGET")
self.Append(LINKCOMSTR = "Linking $TARGET")
self.Debug = CONFIG_DEBUG
self.Version = CONFIG_VERSION
self.Valgrind = CONFIG_TEST_VALGRIND
self.Coverage = CONFIG_TEST_COVERAGE
self.CppCheck = CONFIG_TEST_CPPCHECK
def UsePackage(self, name):
self.ParseConfig("pkg-config --cflags --libs %s" % name)
env = OEnvironment()
test_env = OEnvironment( CONFIG_CCFLAGS + [ "-DCONFIG_TEST" ] )
Export("env", "test_env")
include = SConscript("include/Sconscript")
core = SConscript("core/Sconscript")
gui = SConscript("gui/Sconscript")
tests = SConscript("tests/Sconscript")
Clean(tests, Glob("*.gcov"))
Clean(tests, Glob("tests/*.gcda"))
Clean(tests, Glob("tests/*.gcno"))
ocarina = env.Program("bin/ocarina", core + gui)
Default(ocarina)
Clean(ocarina, "bin/")
def ocarina_release(target, source, env):
o_vers = "ocarina-%s" % CONFIG_VERSION
os.popen("git archive --prefix=%s/ -o %s.tar.gz HEAD" % (o_vers, o_vers))
print os.popen("sha1sum %s.tar.gz" % o_vers).read()
Command("release", None, ocarina_release)
env.Install("/usr/bin", "bin/ocarina")
env.Install("/usr/share", "share/ocarina/")
env.Install("/usr/share/applications", "share/applications/ocarina.desktop")
install = Alias("install", [ "/usr/bin", "/usr/share", "/usr/share/applications" ])
Depends(install, ocarina)
Clean(install, "/usr/share/ocarina")