diff options
-rw-r--r-- | mesonbuild/build.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 1 | ||||
-rw-r--r-- | mesonbuild/interpreter/kwargs.py | 1 | ||||
-rw-r--r-- | mesonbuild/interpreter/type_checking.py | 1 |
4 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 8185ef4..dbfbea8 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -652,7 +652,8 @@ class Target(HoldableObject, metaclass=abc.ABCMeta): self.build_by_default = kwargs['build_by_default'] if not isinstance(self.build_by_default, bool): raise InvalidArguments('build_by_default must be a boolean value.') - elif kwargs.get('install', False): + + if not self.build_by_default and kwargs.get('install', False): # For backward compatibility, if build_by_default is not explicitly # set, use the value of 'install' if it's enabled. self.build_by_default = True diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 1bfcda0..85f599e 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -3314,7 +3314,6 @@ class Interpreter(InterpreterBase, HoldableObject): targetclass: T.Type[T.Union[build.Executable, build.StaticLibrary, build.SharedModule, build.SharedLibrary, build.Jar]] ) -> T.Union[build.Executable, build.StaticLibrary, build.SharedModule, build.SharedLibrary, build.Jar]: @FeatureNewKwargs('build target', '0.42.0', ['build_rpath', 'implicit_include_directories']) - @FeatureNewKwargs('build target', '0.38.0', ['build_by_default']) @FeatureNewKwargs('build target', '0.48.0', ['gnu_symbol_visibility']) def build_target_decorator_caller(self, node, args, kwargs): return True diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index b4a389b..3bfba6e 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -325,6 +325,7 @@ class _BaseBuildTarget(TypedDict): BuildTarget functions. """ + build_by_default: bool override_options: T.Dict[OptionKey, T.Union[str, int, bool, T.List[str]]] depend_files: NotRequired[T.List[File]] diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index 82f770f..4887214 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -552,6 +552,7 @@ _JAVA_LANG_KW: KwargInfo[T.List[str]] = _BASE_LANG_KW.evolve( # Applies to all build_target like classes _ALL_TARGET_KWS: T.List[KwargInfo] = [ OVERRIDE_OPTIONS_KW, + KwargInfo('build_by_default', bool, default=True, since='0.38.0'), ] # Applies to all build_target classes except jar |