diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2024-08-29 15:47:20 -0700 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-05 17:45:38 +0200 |
| commit | ba3460eb11bbceaf4fef7352bf286cf27184c99a (patch) | |
| tree | ef001dc11ac342d82296a7e41560dac04f8b89ce /mesonbuild/cmake | |
| parent | 0e11b90d6f2f9c3e18cb8ff84b1622640666e826 (diff) | |
| download | meson-ba3460eb11bbceaf4fef7352bf286cf27184c99a.tar.gz | |
options: Add an EnumeratedUserOption class
This will allow us to take choices out of the UserOption class, which
doesn't actually use this attribute.
Diffstat (limited to 'mesonbuild/cmake')
| -rw-r--r-- | mesonbuild/cmake/interpreter.py | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py index fafee86ab..27ce54e20 100644 --- a/mesonbuild/cmake/interpreter.py +++ b/mesonbuild/cmake/interpreter.py @@ -19,6 +19,7 @@ from .toolchain import CMakeToolchain, CMakeExecScope from .traceparser import CMakeTraceParser from .tracetargets import resolve_cmake_trace_targets from .. import mlog, mesonlib +from .. import options from ..mesonlib import MachineChoice, OrderedSet, path_is_in_root, relative_to_if_possible from ..options import OptionKey from ..mesondata import DataFile @@ -533,17 +534,12 @@ class ConverterTarget: @lru_cache(maxsize=None) def _all_lang_stds(self, lang: str) -> 'ImmutableListProtocol[str]': try: - res = self.env.coredata.optstore.get_value_object(OptionKey(f'{lang}_std', machine=MachineChoice.BUILD)).choices + opt = self.env.coredata.optstore.get_value_object(OptionKey(f'{lang}_std', machine=MachineChoice.BUILD)) + assert isinstance(opt, (options.UserStdOption, options.UserComboOption)), 'for mypy' + return opt.choices or [] except KeyError: return [] - # TODO: Get rid of this once we have proper typing for options - assert isinstance(res, list) - for i in res: - assert isinstance(i, str) - - return res - def process_inter_target_dependencies(self) -> None: # Move the dependencies from all TRANSFER_DEPENDENCIES_FROM to the target to_process = list(self.depends) |
