a420b98a35912da28d9ebd3d6cb50bc7b338ceba
[libsub.git] / cscript
1 #
2 #    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
3 #
4 #    This file is part of libsub.
5 #
6 #    libsub is free software; you can redistribute it and/or modify
7 #    it under the terms of the GNU General Public License as published by
8 #    the Free Software Foundation; either version 2 of the License, or
9 #    (at your option) any later version.
10 #
11 #    libsub is distributed in the hope that it will be useful,
12 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #    GNU General Public License for more details.
15 #
16 #    You should have received a copy of the GNU General Public License
17 #    along with libsub.  If not, see <http://www.gnu.org/licenses/>.
18 #
19
20 import os
21
22 option_defaults = { 'force-cpp11': False }
23
24 def dependencies(target, options):
25     libdcp =  ('libdcp', '0f1034f')
26     libcxml = ('libcxml', 'c336f86')
27     return (('asdcplib', 'carl'), libcxml, libdcp)
28
29 def build(target, options):
30     cmd = './waf configure --prefix=%s' % target.directory
31     if target.platform == 'linux':
32         cmd += ' --static'
33         if target.distro == 'centos':
34             cmd += ' --disable-tests'
35     if target.debug:
36         cmd += ' --enable-debug'
37     if target.platform == 'windows':
38         cmd += ' --target-windows --disable-tests'
39
40     target.command(cmd)
41     target.command('./waf build install')
42
43 def make_doxygen(target):
44     os.makedirs('build/doc')
45     target.command('doxygen')
46     return os.path.abspath('build/doc/html')
47
48 def test(target, test):
49     if target.platform != 'windows':
50         target.set('LC_ALL', 'C')
51         if test is None:
52             target.command('run/tests')
53         else:
54             target.command('run/tests --run_test=%s' % test)