summaryrefslogtreecommitdiff
path: root/mesonbuild/templates/sampleimpl.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-01-06 15:36:45 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-01-08 10:04:42 -0800
commit55e3a5ece5d90ea29dcb8ab2d0bb6898a71e8971 (patch)
treecdf1d0214f5fac25f65dd111c6baf7c7fec0b10e /mesonbuild/templates/sampleimpl.py
parent484ac23b512f2ccc008ad9b9520016fbaa3645f0 (diff)
downloadmeson-55e3a5ece5d90ea29dcb8ab2d0bb6898a71e8971.tar.gz
templates: plumb dependencies into the new project template
The command line value exists, and we'll want it soon.
Diffstat (limited to 'mesonbuild/templates/sampleimpl.py')
-rw-r--r--mesonbuild/templates/sampleimpl.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/mesonbuild/templates/sampleimpl.py b/mesonbuild/templates/sampleimpl.py
index 7d2b4dd7c..d033f3c14 100644
--- a/mesonbuild/templates/sampleimpl.py
+++ b/mesonbuild/templates/sampleimpl.py
@@ -23,6 +23,7 @@ class SampleImpl(metaclass=abc.ABCMeta):
self.capitalized_token = self.lowercase_token.capitalize()
self.meson_version = '1.0.0'
self.force = args.force
+ self.dependencies = args.deps.split(',') if args.deps else []
@abc.abstractmethod
def create_executable(self) -> None:
@@ -62,6 +63,9 @@ class SampleImpl(metaclass=abc.ABCMeta):
def source_ext(self) -> str:
pass
+ def _format_dependencies(self) -> str:
+ return ''.join(f"\n dependency('{d}')," for d in self.dependencies)
+
class ClassImpl(SampleImpl):
@@ -79,7 +83,8 @@ class ClassImpl(SampleImpl):
exe_name=self.name,
source_name=source_name,
version=self.version,
- meson_version=self.meson_version))
+ meson_version=self.meson_version,
+ dependencies=self._format_dependencies()))
def create_library(self) -> None:
lib_name = f'{self.capitalized_token}.{self.source_ext}'
@@ -96,6 +101,7 @@ class ClassImpl(SampleImpl):
'test_name': self.lowercase_token,
'version': self.version,
'meson_version': self.meson_version,
+ 'dependencies': self._format_dependencies(),
}
if not os.path.exists(lib_name):
with open(lib_name, 'w', encoding='utf-8') as f:
@@ -123,7 +129,8 @@ class FileImpl(SampleImpl):
exe_name=self.name,
source_name=source_name,
version=self.version,
- meson_version=self.meson_version))
+ meson_version=self.meson_version,
+ dependencies=self._format_dependencies()))
def lib_kwargs(self) -> T.Dict[str, str]:
"""Get Language specific keyword arguments
@@ -145,6 +152,7 @@ class FileImpl(SampleImpl):
'test_name': self.lowercase_token,
'version': self.version,
'meson_version': self.meson_version,
+ 'dependencies': self._format_dependencies(),
}
def create_library(self) -> None: