aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorAlex Hirsch <w4rh4wk@bluephoenix.at>2018-03-09 18:42:44 +0100
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-18 10:49:40 +0000
commitcbe18e01e49613f0db30c563c80767b30325bf39 (patch)
tree7d4dcba4347fa01aae1178d4ea072414c96d1f80 /mesonbuild/build.py
parentd7466066e468f9297bcad480003af882920c1159 (diff)
downloadmeson-cbe18e01e49613f0db30c563c80767b30325bf39.zip
meson-cbe18e01e49613f0db30c563c80767b30325bf39.tar.gz
meson-cbe18e01e49613f0db30c563c80767b30325bf39.tar.bz2
Deprecate `build_always`, add `build_always_stale`
Since `build_always` also adds a target to the set of default targets, this option is marked deprecated in favour of the new option `build_always_stale`. `build_always_stale` *only* marks the target to be always considered out of date, but does *not* add it to the set of default targets. The old behaviour can still be achieved by combining `build_always_stale` with `build_by_default`. fixes #1942
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 331b552..c91bbe6 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -309,7 +309,7 @@ a hard error in the future.''' % name)
self.subproject = subproject
self.build_by_default = build_by_default
self.install = False
- self.build_always = False
+ self.build_always_stale = False
self.option_overrides = {}
def get_basename(self):
@@ -1636,6 +1636,7 @@ class CustomTarget(Target):
'install_dir',
'install_mode',
'build_always',
+ 'build_always_stale',
'depends',
'depend_files',
'depfile',
@@ -1788,9 +1789,16 @@ class CustomTarget(Target):
self.install = False
self.install_dir = [None]
self.install_mode = None
- self.build_always = kwargs.get('build_always', False)
- if not isinstance(self.build_always, bool):
- raise InvalidArguments('Argument build_always must be a boolean.')
+ if 'build_always' in kwargs and 'build_always_stale' in kwargs:
+ raise InvalidArguments('build_always and build_always_stale are mutually exclusive. Combine build_by_default and build_always_stale.')
+ elif 'build_always' in kwargs:
+ mlog.warning('build_always is deprecated. Combine build_by_default and build_always_stale instead.')
+ self.build_by_default = kwargs['build_always']
+ self.build_always_stale = kwargs['build_always']
+ elif 'build_always_stale' in kwargs:
+ self.build_always_stale = kwargs['build_always_stale']
+ if not isinstance(self.build_always_stale, bool):
+ raise InvalidArguments('Argument build_always_stale must be a boolean.')
extra_deps, depend_files = extract_as_list(kwargs, 'depends', 'depend_files', pop = False)
for ed in extra_deps:
while hasattr(ed, 'held_object'):