diff options
| -rw-r--r-- | mesonbuild/modules/cmake.py | 23 | ||||
| -rwxr-xr-x | run_mypy.py | 1 |
2 files changed, 17 insertions, 7 deletions
diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py index 1802584cb..e3154b05e 100644 --- a/mesonbuild/modules/cmake.py +++ b/mesonbuild/modules/cmake.py @@ -156,13 +156,17 @@ class CMakeSubproject(ModuleObject): @typed_pos_args('cmake.subproject.include_directories', str) def include_directories(self, state: ModuleState, args: T.Tuple[str], kwargs: TYPE_kwargs) -> build.IncludeDirs: info = self._args_to_info(args[0]) - return self.get_variable(state, [info['inc']], kwargs) + inc = self.get_variable(state, [info['inc']], kwargs) + assert isinstance(inc, build.IncludeDirs), 'for mypy' + return inc @noKwargs @typed_pos_args('cmake.subproject.target', str) def target(self, state: ModuleState, args: T.Tuple[str], kwargs: TYPE_kwargs) -> build.Target: info = self._args_to_info(args[0]) - return self.get_variable(state, [info['tgt']], kwargs) + tgt = self.get_variable(state, [info['tgt']], kwargs) + assert isinstance(tgt, build.Target), 'for mypy' + return tgt @noKwargs @typed_pos_args('cmake.subproject.target_type', str) @@ -305,7 +309,9 @@ class CmakeModule(ExtensionModule): pkgroot = pkgroot_name = kwargs['install_dir'] if pkgroot is None: - pkgroot = os.path.join(state.environment.coredata.optstore.get_value_for(OptionKey('libdir')), 'cmake', name) + libdir = state.environment.coredata.optstore.get_value_for(OptionKey('libdir')) + assert isinstance(libdir, str), 'for mypy' + pkgroot = os.path.join(libdir, 'cmake', name) pkgroot_name = os.path.join('{libdir}', 'cmake', name) template_file = os.path.join(self.cmake_root, 'Modules', f'BasicConfigVersion-{compatibility}.cmake.in') @@ -376,7 +382,9 @@ class CmakeModule(ExtensionModule): install_dir = kwargs['install_dir'] if install_dir is None: - install_dir = os.path.join(state.environment.coredata.optstore.get_value_for(OptionKey('libdir')), 'cmake', name) + libdir = state.environment.coredata.optstore.get_value_for(OptionKey('libdir')) + assert isinstance(libdir, str), 'for mypy' + install_dir = os.path.join(libdir, 'cmake', name) conf = kwargs['configuration'] if isinstance(conf, dict): @@ -384,6 +392,7 @@ class CmakeModule(ExtensionModule): conf = build.ConfigurationData(conf) prefix = state.environment.coredata.optstore.get_value_for(OptionKey('prefix')) + assert isinstance(prefix, str), 'for mypy' abs_install_dir = install_dir if not os.path.isabs(abs_install_dir): abs_install_dir = os.path.join(prefix, install_dir) @@ -429,7 +438,7 @@ class CmakeModule(ExtensionModule): 'required': kwargs_['required'], 'options': kwargs_['options'], 'cmake_options': kwargs_['cmake_options'], - 'default_options': {}, + 'default_options': [], 'version': [], } subp = self.interpreter.do_subproject(dirname, kw, force_method='cmake') @@ -443,5 +452,5 @@ class CmakeModule(ExtensionModule): def subproject_options(self, state: ModuleState, args: TYPE_var, kwargs: TYPE_kwargs) -> CMakeSubprojectOptions: return CMakeSubprojectOptions() -def initialize(*args: T.Any, **kwargs: T.Any) -> CmakeModule: - return CmakeModule(*args, **kwargs) +def initialize(interp: Interpreter) -> CmakeModule: + return CmakeModule(interp) diff --git a/run_mypy.py b/run_mypy.py index afa5531cd..975232a48 100755 --- a/run_mypy.py +++ b/run_mypy.py @@ -57,6 +57,7 @@ modules = [ 'mesonbuild/mlog.py', 'mesonbuild/msubprojects.py', 'mesonbuild/modules/__init__.py', + 'mesonbuild/modules/cmake.py', 'mesonbuild/modules/cuda.py', 'mesonbuild/modules/external_project.py', 'mesonbuild/modules/fs.py', |
