blob: edb991d585a67b4380687223b50053dedc82fecf [file] [log] [blame]
Alexander Afanasyev749f0652013-09-22 13:03:21 -07001# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
Alexander Afanasyev2f1787c2016-03-22 17:44:04 -07002VERSION='0.1.1'
Alexander Afanasyevb6392e32014-05-12 23:43:50 -07003APPNAME='nfd-control-center'
Alexander Afanasyev749f0652013-09-22 13:03:21 -07004
5from waflib import Logs, Utils, Task, TaskGen
Alexander Afanasyev38d74ec2016-11-14 10:22:48 +09006import os
Alexander Afanasyev749f0652013-09-22 13:03:21 -07007
8def options(opt):
Alexander Afanasyeve3342152016-03-20 11:23:57 -07009 opt.load('compiler_c compiler_cxx qt5 gnu_dirs')
10 opt.load('msvs boost sparkle xcode default-compiler-flags', tooldir='.waf-tools')
Alexander Afanasyev749f0652013-09-22 13:03:21 -070011
Alexander Afanasyeve3342152016-03-20 11:23:57 -070012 # grp = opt.add_option_group('NFD Control Center options')
Alexander Afanasyeva822b572013-11-04 12:36:34 -080013
Alexander Afanasyev749f0652013-09-22 13:03:21 -070014def configure(conf):
Alexander Afanasyev38d74ec2016-11-14 10:22:48 +090015 conf.load('compiler_c compiler_cxx default-compiler-flags boost')
16
17 if 'PKG_CONFIG_PATH' not in os.environ:
18 os.environ['PKG_CONFIG_PATH'] = Utils.subst_vars('${LIBDIR}/pkgconfig', conf.env)
19
20 # add homebrew path, as qt5 is no longer linked
21 os.environ['PKG_CONFIG_PATH'] += ":/usr/local/opt/qt5/lib/pkgconfig:/opt/qt5/5.8/clang_64/lib/pkgconfig"
22 os.environ['PATH'] += ":/usr/local/opt/qt5/bin:/opt/qt5/5.8/clang_64/bin"
23
24 conf.load('qt5')
Alexander Afanasyev6cacb972013-10-03 23:39:06 -070025
Alexander Afanasyevb6392e32014-05-12 23:43:50 -070026 conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
27 uselib_store='NDN_CXX', mandatory=True)
Alexander Afanasyev86240d02013-11-08 23:32:53 -080028
taylorchuc27dd482014-05-17 20:06:49 -070029 conf.check_boost(lib="system thread")
30
Alexander Afanasyev0621cec2016-03-20 23:18:27 -070031 conf.define('RESOURCES_DIR', Utils.subst_vars("${DATAROOTDIR}/nfd-control-center", conf.env))
Alexander Afanasyeve3342152016-03-20 11:23:57 -070032
33 if Utils.unversioned_sys_platform() == "darwin":
34 conf.define('OSX_BUILD', 1)
Alexander Afanasyeveb111572013-11-08 22:59:43 -080035
Alexander Afanasyevb6392e32014-05-12 23:43:50 -070036 conf.write_config_header('config.hpp')
Alexander Afanasyev2beff7f2013-09-27 17:50:36 -070037
Alexander Afanasyevb6392e32014-05-12 23:43:50 -070038def build(bld):
Alexander Afanasyeve3342152016-03-20 11:23:57 -070039 app = bld(
40 features=['qt5', 'cxxprogram', 'cxx'],
41 includes = ". src",
42
43 use = "NDN_CXX BOOST QT5CORE QT5DBUS QT5QML QT5WIDGETS",
44
45 defines = "WAF",
46 source = bld.path.ant_glob(['src/*.cpp', 'src/**/*.qrc', 'src/**/*.ui', 'src/**/*.qrc']),
47 )
48
49 if Utils.unversioned_sys_platform() != "darwin":
susmit90b71822016-03-20 13:31:23 -060050 app.target = "nfd-control-center"
Alexander Afanasyeve3342152016-03-20 11:23:57 -070051
52 bld(features = "subst",
Alexander Afanasyev0621cec2016-03-20 23:18:27 -070053 source = 'nfd-control-center.desktop.in',
54 target = 'nfd-control-center.desktop',
Alexander Afanasyeve3342152016-03-20 11:23:57 -070055 BINARY = "nfd-control-center",
56 install_path = "${DATAROOTDIR}/nfd-control-center"
57 )
58
59 bld.install_files("${DATAROOTDIR}/nfd-control-center",
Alexander Afanasyev0621cec2016-03-20 23:18:27 -070060 bld.path.ant_glob(['res/*']))
Alexander Afanasyeva822b572013-11-04 12:36:34 -080061 else:
Alexander Afanasyeve3342152016-03-20 11:23:57 -070062 app.target = "NFD Control Center"
63 app.mac_app = True
Alexander Afanasyev4c37bfb2016-03-20 12:06:30 -070064 app.mac_plist = 'src/Info.plist'
Alexander Afanasyev0621cec2016-03-20 23:18:27 -070065 app.mac_resources = [i.path_from(bld.path) for i in bld.path.ant_glob('res/**/*', excl='**/*.ai')]