project( 'matplotlib', 'c', 'cpp', version: run_command(find_program('python3'), '-m', 'setuptools_scm', check: true).stdout().strip(), # qt_editor backend is MIT # ResizeObserver at end of lib/matplotlib/backends/web_backend/js/mpl.js is CC0 # Carlogo, STIX and Computer Modern is OFL # DejaVu is Bitstream Vera and Public Domain license: 'PSF-2.0 AND MIT AND CC0-1.0 AND OFL-1.1 AND Bitstream-Vera AND Public-Domain', license_files: [ 'LICENSE/LICENSE', 'LICENSE/LICENSE_AMSFONTS', 'LICENSE/LICENSE_BAKOMA', 'LICENSE/LICENSE_CARLOGO', 'LICENSE/LICENSE_COLORBREWER', 'LICENSE/LICENSE_COURIERTEN', 'LICENSE/LICENSE_JSXTOOLS_RESIZE_OBSERVER', 'LICENSE/LICENSE_QT4_EDITOR', 'LICENSE/LICENSE_SOLARIZED', 'LICENSE/LICENSE_STIX', 'LICENSE/LICENSE_YORICK', ], meson_version: '>=1.1.0', default_options: [ 'b_lto=true', 'cpp_std=c++17', 'auto_features=disabled', # Force FreeType to avoid extra dependencies. ], ) cc = meson.get_compiler('c') cpp = meson.get_compiler('cpp') # https://mesonbuild.com/Python-module.html py_mod = import('python') py3 = py_mod.find_installation(pure: false) py3_dep = py3.dependency() pybind11_dep = dependency('pybind11', version: '>=2.13.2') subdir('extern') subdir('src') subdir('lib')