blob: c617d47a13731879bf290b0f10d058a21942aee1 [file] [log] [blame]
# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
VERSION='0.1'
APPNAME='test-project'
from waflib import Build, Logs, Utils, Task, TaskGen, Configure
def options(opt):
opt.load('compiler_c compiler_cxx boost ccnx')
def configure(conf):
conf.load("compiler_c compiler_cxx ccnx")
conf.add_supported_cxxflags (cxxflags = ['-O0',
'-Wall',
'-Wno-unused-variable',
'-g3',
'-Wno-unused-private-field',
'-fcolor-diagnostics',
'-Qunused-arguments'
])
if not conf.check_cfg(package='openssl', args=['--cflags', '--libs'], uselib_store='SSL', mandatory=False):
libcrypto = conf.check_cc(lib='crypto',
header_name='openssl/crypto.h',
define_name='HAVE_SSL',
uselib_store='SSL')
else:
conf.define ("HAVE_SSL", 1)
if not conf.get_define ("HAVE_SSL"):
conf.fatal ("Cannot find SSL libraries")
conf.check_ccnx (path=conf.options.ccnx_dir)
conf.check_cfg(package='libndn.cxx', args=['--cflags', '--libs'], uselib_store='CCNXCPP', mandatory=True)
conf.load('boost')
conf.check_boost(lib='system test iostreams filesystem thread')
def build (bld):
bld (
features = ["cxx", "cxxprogram"],
target = "client",
source = "client.cc",
use = 'BOOST BOOST_THREAD CCNX CCNXCPP',
)
bld (
features = ["cxx", "cxxprogram"],
target = "server",
source = "server.cc",
use = 'BOOST BOOST_THREAD CCNX CCNXCPP',
)
@Configure.conf
def add_supported_cxxflags(self, cxxflags):
"""
Check which cxxflags are supported by compiler and add them to env.CXXFLAGS variable
"""
self.start_msg('Checking allowed flags for c++ compiler')
supportedFlags = []
for flag in cxxflags:
if self.check_cxx (cxxflags=[flag], mandatory=False):
supportedFlags += [flag]
self.end_msg (' '.join (supportedFlags))
self.env.CXXFLAGS += supportedFlags