diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2023-07-19 14:18:55 -0700 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-07-25 13:29:08 -0400 |
commit | 67035a181e90f3bdea14a06cd336f95d10a90b4f (patch) | |
tree | 2515f8c1a3935f82b0edafef74284776d0b76bfb /mesonbuild | |
parent | 020610cfbe55870e9ca3c8206328112b95e0ec4e (diff) | |
download | meson-67035a181e90f3bdea14a06cd336f95d10a90b4f.zip meson-67035a181e90f3bdea14a06cd336f95d10a90b4f.tar.gz meson-67035a181e90f3bdea14a06cd336f95d10a90b4f.tar.bz2 |
interpreter: use typed_kwargs for gui_app
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/build.py | 4 | ||||
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/kwargs.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/type_checking.py | 4 |
4 files changed, 7 insertions, 7 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index f888ab1..9c2cb1a 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -1151,12 +1151,10 @@ class BuildTarget(Target): # This kwarg is deprecated. The value of "none" means that the kwarg # was not specified and win_subsystem should be used instead. self.gui_app = None - if 'gui_app' in kwargs: + if kwargs.get('gui_app') is not None: if 'win_subsystem' in kwargs: raise InvalidArguments('Can specify only gui_app or win_subsystem for a target, not both.') self.gui_app = kwargs['gui_app'] - if not isinstance(self.gui_app, bool): - raise InvalidArguments('Argument gui_app must be boolean.') self.win_subsystem = self.validate_win_subsystem(kwargs.get('win_subsystem', 'console')) elif 'gui_app' in kwargs: raise InvalidArguments('Argument gui_app can only be used on executables.') diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index f12a059..69a48fa 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -33,7 +33,7 @@ from ..interpreterbase import ContainerTypeInfo, InterpreterBase, KwargInfo, typ from ..interpreterbase import noPosargs, noKwargs, permittedKwargs, noArgsFlattening, noSecondLevelHolderResolving, unholder_return from ..interpreterbase import InterpreterException, InvalidArguments, InvalidCode, SubdirDoneRequest from ..interpreterbase import Disabler, disablerIfNotFound -from ..interpreterbase import FeatureNew, FeatureDeprecated, FeatureBroken, FeatureNewKwargs, FeatureDeprecatedKwargs +from ..interpreterbase import FeatureNew, FeatureDeprecated, FeatureBroken, FeatureNewKwargs from ..interpreterbase import ObjectHolder, ContextManagerObject from ..modules import ExtensionModule, ModuleObject, MutableModuleObject, NewExtensionModule, NotFoundExtensionModule @@ -1808,7 +1808,6 @@ class Interpreter(InterpreterBase, HoldableObject): @FeatureNewKwargs('executable', '0.42.0', ['implib']) @FeatureNewKwargs('executable', '0.56.0', ['win_subsystem']) - @FeatureDeprecatedKwargs('executable', '0.56.0', ['gui_app'], extra_message="Use 'win_subsystem' instead.") @permittedKwargs(build.known_exe_kwargs) @typed_pos_args('executable', str, varargs=(str, mesonlib.File, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList, build.StructuredSources, build.ExtractedObjects, build.BuildTarget)) @typed_kwargs('executable', *EXECUTABLE_KWS, allow_unknown=True) diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index 31c96e2..07b6165 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -327,7 +327,8 @@ class _BuildTarget(_BaseBuildTarget): class Executable(_BuildTarget): - pass + + gui_app: T.Optional[bool] class StaticLibrary(_BuildTarget): diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index 206a2e6..2b78eb6 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -492,7 +492,9 @@ _BUILD_TARGET_KWS: T.List[KwargInfo] = [ # Arguments exclusive to Executable. These are separated to make integrating # them into build_target easier -_EXCLUSIVE_EXECUTABLE_KWS: T.List[KwargInfo] = [] +_EXCLUSIVE_EXECUTABLE_KWS: T.List[KwargInfo] = [ + KwargInfo('gui_app', (bool, NoneType), deprecated='0.56.0', deprecated_message="Use 'win_subsystem' instead") +] # The total list of arguments used by Executable EXECUTABLE_KWS = [ |