class_docstr: Template meson build file generation class.
code: def __init__(
      self,
      modulename: str,
      sources: list[Path],
      deps: list[str],
      libraries: list[str],
      library_dirs: list[Path],
      include_dirs: list[Path],
      object_files: list[Path],
      linker_args: list[str],
      c_args: list[str],
      build_type: str,
      python_exe: str,
  ):
      self.modulename = modulename
      self.build_template_path = (
          Path(__file__).parent.absolute() / "meson.build.template"
      )
      self.sources = sources
      self.deps = deps
      self.libraries = libraries
      self.library_dirs = library_dirs
      if include_dirs is not None:
          self.include_dirs = include_dirs
      else:
          self.include_dirs = []
      self.substitutions = {}
      self.objects = object_files
      self.pipeline = [
          self.initialize_template,
          self.sources_substitution,
          self.deps_substitution,
          self.include_substitution,
          self.libraries_substitution,
      ]
      self.build_type = build_type
      self.python_exe = python_exe
  
imports: from __future__ import annotations
  import os
  import errno
  import shutil
  import subprocess
  import sys
  from pathlib import Path
  from ._backend import Backend
  from string import Template
  from itertools import chain
  import warnings
label_desc: Use image node_id 1 to create a new MesonTemplate object  with example: obj = MesonTemplate(modulename, sources, deps, libraries, library_dirs, include_dirs, object_files, linker_args, c_args, build_type, python_exe)