-
Notifications
You must be signed in to change notification settings - Fork 91
/
wscript
43 lines (33 loc) · 1.33 KB
/
wscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import Options, Utils
from os import unlink, symlink, chdir, system
from os.path import exists, lexists
srcdir = "."
blddir = "build"
VERSION = "0.1.0alpha2"
def set_options(opt):
opt.tool_options("compiler_cxx")
def configure(conf):
conf.env.CXX = 'clang'
conf.check_tool("compiler_cxx")
conf.check_tool("node_addon")
conf.check_cfg(mandatory = True, package='libgphoto2', args='--cflags --libs', uselib_store='GPHOTO2')
conf.check_cfg(mandatory = True, package='libgphoto2_port', args='--cflags --libs', uselib_store='GPHOTO2PORT')
conf.env.append_value('CXXFLAGS', ['-Wall', '-Qunused-arguments'])
def build(bld):
if(exists('src/preview.cc')):
test = bld.new_task_gen("cxx", "program")
test.uselib = "GPHOTO2 GPHOTO2PORT"
test.source = "src/preview.cc"
test.target = "preview"
obj = bld.new_task_gen("cxx", "shlib", "node_addon")
obj.cxxflags = ["-D_FILE_OFFSET_BITS=64", "-D_LARGEFILE_SOURCE"]
obj.uselib = "GPHOTO2 GPHOTO2PORT"
obj.target = "gphoto2"
obj.source = bld.glob("src/*.cc")
def shutdown(bld):
if Options.commands['clean'] and not Options.commands['build']:
if lexists('gphoto2.node'):
unlink('gphoto2.node')
elif Options.commands['build']:
if exists('build/Release/gphoto2.node') and not lexists('gphoto2.node'):
symlink('build/Release/gphoto2.node', 'gphoto2.node')