diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-07 23:42:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-07 23:49:49 +0100 |
| commit | 2fda91400ad255615309903f5cf81a54b51dff38 (patch) | |
| tree | c0ab2b6ff87ea3049dcdfe6e92405f521edb79ce | |
| parent | 4ad7c9c1ad624fc811ad1b0c34e62657f1f59998 (diff) | |
Fix tests on platforms that statically-link boost.static-tests
| -rw-r--r-- | cscript | 6 | ||||
| -rw-r--r-- | test/tests.cc | 1 | ||||
| -rw-r--r-- | wscript | 28 |
3 files changed, 16 insertions, 19 deletions
@@ -24,10 +24,8 @@ def build(target, options): cmd = './waf configure --prefix=%s' % target.directory if target.platform == 'linux': cmd += ' --static' - if target.distro == 'centos': - # Centos builds using static boost, which means tests don't - # build as test/tests.cc defines BOOST_TEST_DYN_LINK - cmd += ' --disable-tests' + if target.distro == 'centos' or (target.distro == 'ubuntu' and target.version == '16.04'): + cmd += ' --static-boost-test' elif target.platform == 'windows': cmd += ' --target-windows' diff --git a/test/tests.cc b/test/tests.cc index 633aaa2..a6389a2 100644 --- a/test/tests.cc +++ b/test/tests.cc @@ -23,7 +23,6 @@ #include <libxml++/libxml++.h> #include "cxml.h" -#define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE libcxml_test #include <boost/test/unit_test.hpp> @@ -39,7 +39,7 @@ def options(opt): opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to Windows') opt.add_option('--enable-debug', action='store_true', default=False, help='build with debugging information and without optimisation') opt.add_option('--static', action='store_true', default=False, help='build statically') - opt.add_option('--disable-tests', action='store_true', default=False, help='disable building of tests') + opt.add_option('--static-boost-test', action='store_true', default=False, help='boost test library will be statically linked') def configure(conf): conf.load('compiler_cxx') @@ -49,7 +49,6 @@ def configure(conf): conf.env.TARGET_WINDOWS = conf.options.target_windows conf.env.STATIC = conf.options.static - conf.env.DISABLE_TESTS = conf.options.disable_tests conf.env.API_VERSION = API_VERSION if conf.options.target_windows: @@ -59,6 +58,9 @@ def configure(conf): boost_lib_suffix = '' conf.env.append_value('CXXFLAGS', '-DLIBCXML_POSIX') + if not conf.options.static_boost_test: + conf.env.append_value('CXXFLAGS', '-DBOOST_TEST_DYN_LINK') + conf.check_cfg(package='libxml++-2.6', args='--cflags --libs', uselib_store='LIBXML++', mandatory=True) conf.check_cxx(fragment=""" @@ -70,17 +72,16 @@ def configure(conf): lib=['boost_filesystem%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix], uselib_store='BOOST_FILESYSTEM') - if not conf.options.disable_tests: - conf.check_cxx(fragment=""" - #define BOOST_TEST_MODULE Config test\n - #include <boost/test/unit_test.hpp>\n - int main() {} - """, - msg='Checking for boost unit testing library', - lib=['boost_unit_test_framework%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix], - uselib_store='BOOST_TEST') + conf.check_cxx(fragment=""" + #define BOOST_TEST_MODULE Config test\n + #include <boost/test/unit_test.hpp>\n + int main() {} + """, + msg='Checking for boost unit testing library', + lib=['boost_unit_test_framework%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix], + uselib_store='BOOST_TEST') - conf.recurse('test') + conf.recurse('test') def build(bld): @@ -91,5 +92,4 @@ def build(bld): install_path='${LIBDIR}/pkgconfig') bld.recurse('src') - if not bld.env.DISABLE_TESTS: - bld.recurse('test') + bld.recurse('test') |
