summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2024-12-06 12:26:00 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-10-20 15:15:53 -0700
commit69da2bedefe13497d0e0181584d2dc4b163e8620 (patch)
treef889668fa52f10866b90472b369d0f5d1ef9dea3
parent8611d2ab020be70b7f47d361be6354e487c1bc15 (diff)
downloadmeson-69da2bedefe13497d0e0181584d2dc4b163e8620.tar.gz
interpreter: port dependencies components to typed_kwargs
-rw-r--r--mesonbuild/dependencies/base.py1
-rw-r--r--mesonbuild/dependencies/cmake.py2
-rw-r--r--mesonbuild/interpreter/interpreter.py1
-rw-r--r--mesonbuild/interpreter/kwargs.py1
-rw-r--r--mesonbuild/interpreter/type_checking.py1
5 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index b17dc5b07..765c4782c 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -43,6 +43,7 @@ if T.TYPE_CHECKING:
cmake_args: T.List[str]
cmake_module_path: T.List[str]
cmake_package_version: str
+ components: T.List[str]
_MissingCompilerBase = Compiler
else:
diff --git a/mesonbuild/dependencies/cmake.py b/mesonbuild/dependencies/cmake.py
index 4def2d2ae..e571ee5d5 100644
--- a/mesonbuild/dependencies/cmake.py
+++ b/mesonbuild/dependencies/cmake.py
@@ -127,7 +127,7 @@ class CMakeDependency(ExternalDependency):
self.cmakeinfo = cmakeinfo
package_version = kwargs.get('cmake_package_version', '')
- components = [(x, True) for x in stringlistify(extract_as_list(kwargs, 'components'))] # type: ignore[arg-type]
+ components = [(x, True) for x in kwargs.get('components', [])]
modules = [(x, True) for x in stringlistify(extract_as_list(kwargs, 'modules'))] # type: ignore[arg-type]
modules += [(x, False) for x in stringlistify(extract_as_list(kwargs, 'optional_modules'))] # type: ignore[arg-type]
cm_path = [x if os.path.isabs(x) else os.path.join(environment.get_source_dir(), x) for x in kwargs.get('cmake_module_path', [])]
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
index 445666d78..bd93bc426 100644
--- a/mesonbuild/interpreter/interpreter.py
+++ b/mesonbuild/interpreter/interpreter.py
@@ -1788,7 +1788,6 @@ class Interpreter(InterpreterBase, HoldableObject):
search_dirs=search_dirs)
# When adding kwargs, please check if they make sense in dependencies.get_dep_identifier()
- @FeatureNewKwargs('dependency', '0.54.0', ['components'])
@FeatureNewKwargs('dependency', '0.52.0', ['include_type'])
@FeatureNewKwargs('dependency', '0.50.0', ['not_found_message'])
@FeatureNewKwargs('dependency', '0.49.0', ['disabler'])
diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py
index 63edb44b0..d14b42d04 100644
--- a/mesonbuild/interpreter/kwargs.py
+++ b/mesonbuild/interpreter/kwargs.py
@@ -498,3 +498,4 @@ class FuncDependency(TypedDict):
cmake_args: T.List[str]
cmake_module_path: T.List[str]
cmake_package_version: str
+ components: T.List[str]
diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py
index 332ef9b44..f9462e9d6 100644
--- a/mesonbuild/interpreter/type_checking.py
+++ b/mesonbuild/interpreter/type_checking.py
@@ -902,4 +902,5 @@ DEPENDENCY_KWS: T.List[KwargInfo] = [
KwargInfo('cmake_args', ContainerTypeInfo(list, str), listify=True, default=[], since='0.50.0'),
KwargInfo('cmake_module_path', ContainerTypeInfo(list, str), listify=True, default=[], since='0.50.0'),
KwargInfo('cmake_package_version', str, default='', since='0.57.0'),
+ KwargInfo('components', ContainerTypeInfo(list, str), listify=True, default=[], since='0.54.0'),
]