blob: ce279688f8b40edcc444eec630fb28a0455f9ee5 [file] [log] [blame]
# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
VERSION='0.1'
APPNAME='nfd-control-center'
from waflib import Logs, Utils, Task, TaskGen
def options(opt):
opt.load('compiler_c compiler_cxx qt4 gnu_dirs')
opt.load('boost sparkle xcode default-compiler-flags', tooldir='waf-tools')
grp = opt.add_option_group('NFD Control Center options')
grp.add_option('--with-nfd', dest='with_nfd', type=str, default='/usr/local',
help='''Root path to NFD installation (default: /usr/local)''')
if Utils.unversioned_sys_platform () == "darwin":
grp.add_option('--with-qt4', help='''Build QT4 app, instead of native one''',
action='store_true', dest='with_qt4', default=False)
grp.add_option('--with-qt5', help='''Build QT5 app, instead of native one''',
action='store_true', dest='with_qt5', default=False)
def configure(conf):
conf.load('compiler_c compiler_cxx default-compiler-flags boost')
conf.start_msg('Checking for NFD tools in %s' % conf.options.with_nfd)
if not conf.find_file(['nfd-start', 'nfd-stop'],
path_list='%s/bin' % conf.options.with_nfd, mandatory=False):
conf.fatal('not found', 'RED')
else:
conf.end_msg('ok')
conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
uselib_store='NDN_CXX', mandatory=True)
conf.define('NFD_ROOT', conf.options.with_nfd)
conf.define('NFD_START_COMMAND', '%s/bin/nfd-start' % conf.options.with_nfd)
conf.define('NFD_STOP_COMMAND', '%s/bin/nfd-stop' % conf.options.with_nfd)
conf.define('NFD_AUTOCONFIG_COMMAND', '%s/bin/ndn-autoconfig' % conf.options.with_nfd)
conf.check_boost(lib="system thread")
if not conf.options.with_qt4 and not conf.options.with_qt5 and Utils.unversioned_sys_platform() == "darwin":
conf.env.BUILD_OSX_NATIVE = 1
conf.recurse('osx')
else:
if conf.options.with_qt5:
conf.env.BUILD_QT5 = 1
conf.recurse('qt5')
else:
conf.env.BUILD_QT4 = 1
conf.recurse('qt4')
conf.write_config_header('config.hpp')
def build(bld):
if bld.env.BUILD_OSX_NATIVE:
bld.recurse('osx')
else:
if bld.env.BUILD_QT5:
bld.recurse('qt5')
else:
bld.recurse('qt4')