diff options
Diffstat (limited to 'mesonbuild/modules/cmake.py')
| -rw-r--r-- | mesonbuild/modules/cmake.py | 23 |
1 files changed, 16 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) |
