import os import sys from pyqtbuild import PyQtBindings, PyQtProject from sipbuild import Option class PyQtAds(PyQtProject): def __init__(self): """ Initialise the project. """ super().__init__() self.bindings_factories = [ads] class ads(PyQtBindings): def __init__(self, project): """ Initialise the bindings. """ super().__init__(project, 'ads') def get_options(self): """Our custom options that a user can pass to sip-build.""" options = super().get_options() options += [ Option('ads_incdir', help='the directory containing the ads header file', metavar='DIR'), Option('ads_libdir', help='the directory containing the ads library', metavar='DIR'), Option('ads_lib', help='the ads library', metavar='LIB'), ] return options def apply_user_defaults(self, tool): """ Set default values for user options that haven't been set yet. """ resource_file = os.path.join(self.project.root_dir,'src','ads.qrc') print("Adding resource file to qmake project: ", resource_file) self.builder_settings.append('RESOURCES += '+resource_file) if self.ads_lib is not None: self.libraries.append(self.ads_lib) if self.ads_incdir is not None: self.include_dirs.append(self.ads_incdir) if self.ads_libdir is not None: self.library_dirs.append(self.ads_libdir) super().apply_user_defaults(tool)