From ed160fbbe4def47d47f99285e8fd8c412470dae9 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 24 Jan 2015 15:48:09 +0200 Subject: Made Boost unit testing framework work and added a test. --- dependencies.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'dependencies.py') diff --git a/dependencies.py b/dependencies.py index 20f4f2f..3e3f877 100644 --- a/dependencies.py +++ b/dependencies.py @@ -266,6 +266,11 @@ class ExternalLibrary(Dependency): return [] class BoostDependency(Dependency): + # Some boost libraries have different names for + # their sources and libraries. This dict maps + # between the two. + name2lib = {'test' : 'unit_test_framework'} + def __init__(self, kwargs): Dependency.__init__(self) self.name = 'boost' @@ -372,12 +377,21 @@ class BoostDependency(Dependency): # pkg-config returns. args.append('-L' + os.path.join(self.boost_root, 'lib')) for module in self.requested_modules: + module = BoostDependency.name2lib.get(module, module) if module in self.lib_modules or module in self.lib_modules_mt: linkcmd = '-lboost_' + module args.append(linkcmd) + # FIXME a hack, but Boost's testing framework has a lot of + # different options and it's hard to determine what to do + # without feedback from actual users. Update this + # as we get more bug reports. + if module == 'unit_testing_framework': + args.append('-lboost_test_exec_monitor') elif module + '-mt' in self.lib_modules_mt: linkcmd = '-lboost_' + module + '-mt' args.append(linkcmd) + if module == 'unit_testing_framework': + args.append('-lboost_test_exec_monitor-mt') return args def get_sources(self): -- cgit v1.1