blob: 63199a512abef65eebc9ea90ab853eaa4aceb640 [file] [log] [blame]
Alexander Afanasyev4ffcff22014-09-02 15:39:20 -07001# encoding: utf-8
2
3from waflib import Options, Logs
4from waflib.Configure import conf
5
6def addDependencyOptions(self, opt, name, extraHelp=''):
Alexander Afanasyev08d18742018-03-15 16:31:28 -04007 opt.add_option('--with-%s' % name, metavar='PATH',
Alexander Afanasyev4ffcff22014-09-02 15:39:20 -07008 help='Path to %s, e.g., /usr/local %s' % (name, extraHelp))
Alexander Afanasyev08d18742018-03-15 16:31:28 -04009
10setattr(Options.OptionsContext, 'addDependencyOptions', addDependencyOptions)
Alexander Afanasyev4ffcff22014-09-02 15:39:20 -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:
Alexander Afanasyev08d18742018-03-15 16:31:28 -040021 isOk = self.check_cxx(includes='%s/include' % root,
22 libpath='%s/lib' % root,
Alexander Afanasyev4ffcff22014-09-02 15:39:20 -070023 **kw)
24 else:
25 isOk = self.check_cxx(**kw)
26
27 if isOk:
28 self.env[kw['define_name']] = True