blob: 63199a512abef65eebc9ea90ab853eaa4aceb640 [file] [log] [blame]
Alexander Afanasyev5cda2e02014-04-11 13:58:44 -07001# encoding: utf-8
2
3from waflib import Options, Logs
4from waflib.Configure import conf
5
6def addDependencyOptions(self, opt, name, extraHelp=''):
Davide Pesavento0064c1d2018-03-03 18:43:53 -05007 opt.add_option('--with-%s' % name, metavar='PATH',
Alexander Afanasyev5cda2e02014-04-11 13:58:44 -07008 help='Path to %s, e.g., /usr/local %s' % (name, extraHelp))
Davide Pesavento0064c1d2018-03-03 18:43:53 -05009
10setattr(Options.OptionsContext, 'addDependencyOptions', addDependencyOptions)
Alexander Afanasyev5cda2e02014-04-11 13:58:44 -070011
12@conf
13def checkDependency(self, name, **kw):
14 root = kw.get('path', getattr(Options.options, 'with_%s' % name))
15 kw['msg'] = kw.get('msg', 'Checking for %s library' % name)
16 kw['uselib_store'] = kw.get('uselib_store', name.upper())
17 kw['define_name'] = kw.get('define_name', 'HAVE_%s' % kw['uselib_store'])
18 kw['mandatory'] = kw.get('mandatory', True)
19
20 if root:
Davide Pesavento0064c1d2018-03-03 18:43:53 -050021 isOk = self.check_cxx(includes='%s/include' % root,
22 libpath='%s/lib' % root,
Alexander Afanasyev5cda2e02014-04-11 13:58:44 -070023 **kw)
24 else:
25 isOk = self.check_cxx(**kw)
26
27 if isOk:
28 self.env[kw['define_name']] = True