1
Fork 0
jacker/SConscript

58 lines
1.5 KiB
Python

Import('LocalEnvironment')
def build_buildconfig(target, source, env):
outfilepath = str(target[0])
optionsconfpath = str(source[0])
ofile = file(outfilepath,"w")
print >> ofile, "// generated by scons, do not touch"
print >> ofile, "#pragma once"
print >> ofile, '#define JACKER_PREFIX "%s"' % str(env.Dir("${PREFIX}"))
print >> ofile, '#define JACKER_SHARE_DIR "%s"' % str(env.Dir("${PREFIX}/share/jacker"))
ofile.close()
env = LocalEnvironment()
env.ParseConfig("pkg-config jack --cflags --libs")
env.Append(
CPPPATH = [
'.',
],
)
env['BUILDERS'].update(dict(
BuildConfig = Builder(action = build_buildconfig)
))
env.BuildConfig('jacker_config.hpp', 'options.conf')
gtk_env = env.Clone()
gtk_env.ParseConfig("pkg-config gtkmm-2.4 --cflags --libs")
gtk_env.ParseConfig("pkg-config sigc++-2.0 --cflags --libs")
json_files = [
'json/json_reader.cpp',
'json/json_value.cpp',
'json/json_writer.cpp',
]
objects = env.Object(['jack.cpp',
'player.cpp',
'jsong.cpp',
'model.cpp',
'drag.cpp',
] + json_files)
gtk_objects = gtk_env.Object(['main.cpp',
'songview.cpp',
'patternview.cpp',
'trackview.cpp',
'measure.cpp'])
jacker = gtk_env.Program('jacker', objects + gtk_objects)
env.install("${DESTDIR}${PREFIX}/bin", jacker)
share_dir = "${DESTDIR}${PREFIX}/share/jacker"
env.install(share_dir, "jacker.glade")
env.install(share_dir, "jacker.png")
env.install(share_dir, "cheatsheet.txt")
env.install(share_dir, "commands.txt")