1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
import os
from pyqtbuild import PyQtBindings, PyQtProject
from sipbuild import Option
class QGIS(PyQtProject):
""" The QGIS project. """
def __init__(self):
""" Initialize the project. """
super().__init__()
self.sip_files_dir = '.'
self.bindings_factories = [QgisAnalysis]
def get_options(self):
""" Return the list of configurable options. """
options = super().get_options()
options.append(
Option('include_dirs', option_type=list,
help="additional directory to search for .sip files",
metavar="DIR"))
return options
def apply_user_defaults(self, tool):
""" Set default values for user options that haven't been set yet. """
super().apply_user_defaults(tool)
if self.include_dirs is not None:
self.sip_include_dirs += self.include_dirs
class QgisAnalysis(PyQtBindings):
""" The QGIS Analysis bindings. """
def __init__(self, project):
""" Initialize the bindings. """
super().__init__(project, 'analysis')
self.sip_file = 'analysis.sip'
self.exceptions = True
self.release_gil = True
self.disabled_features = "@SIP_DISABLE_FEATURES@".split(";")
def apply_user_defaults(self, tool):
""" Set default values for user options that haven't been set yet. """
if self.project.py_platform.startswith('win32'):
self.tags.append('WS_WIN')
elif self.project.py_platform == 'darwin':
self.tags.append('WS_MACX')
else:
self.tags.append('WS_X11')
super().apply_user_defaults(tool)
|