blob: 8045aa8e1fe2d5647704968fc115e78740702fcc [file] [log] [blame]
Alexander Afanasyevf5df8e62014-02-16 19:56:21 -08001# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
2
3from waflib import TaskGen
4
5def options(opt):
Alexander Afanasyev1160baa2014-04-10 18:50:29 -07006 opt.add_option('--with-coverage', action='store_true', default=False, dest='with_coverage',
Alexander Afanasyevf5df8e62014-02-16 19:56:21 -08007 help='''Set compiler flags for gcc to enable code coverage information''')
8
9def configure(conf):
10 if conf.options.with_coverage:
11 conf.check_cxx(cxxflags=['-fprofile-arcs', '-ftest-coverage', '-fPIC'],
12 linkflags=['-fprofile-arcs'], uselib_store='GCOV', mandatory=True)
13
14@TaskGen.feature('cxx','cc')
15@TaskGen.after('process_source')
16def add_coverage(self):
17 if getattr(self, 'use', ''):
18 self.use += ' GCOV'
19 else:
20 self.use = 'GCOV'