aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-06-01 22:53:06 +0300
committerGitHub <noreply@github.com>2018-06-01 22:53:06 +0300
commitbf2e21ec0edeaf8e86ff6fd46c2c2fcfcc4713ed (patch)
tree6601dfff032ff82eb414fc94c44bdd048142ce4b /mesonbuild/build.py
parent0a035dea6d0b1416fc76e323bbd7b0ab5a60a4af (diff)
parentc5e85e59cc2b16edb094fa598fb1a096cd0db4d5 (diff)
downloadmeson-bf2e21ec0edeaf8e86ff6fd46c2c2fcfcc4713ed.zip
meson-bf2e21ec0edeaf8e86ff6fd46c2c2fcfcc4713ed.tar.gz
meson-bf2e21ec0edeaf8e86ff6fd46c2c2fcfcc4713ed.tar.bz2
Merge pull request #3486 from Salamandar/salamandar/meson_version_introspection
Add FeatureNew and FeatureDeprecated, to alert the user of bad meson_version
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index b6399bb..0bcb98f 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -25,6 +25,7 @@ from .mesonlib import typeslistify, stringlistify, classify_unity_sources
from .mesonlib import get_filenames_templates_dict, substitute_values
from .mesonlib import for_windows, for_darwin, for_cygwin, for_android, has_path_sep
from .compilers import is_object, clike_langs, sort_clike, lang_suffixes
+from .interpreterbase import FeatureNew, FeatureNewKwargs
pch_kwargs = set(['c_pch', 'cpp_pch'])
@@ -330,6 +331,9 @@ a hard error in the future.''' % name)
myid = subdir_part + '@@' + myid
return myid
+ @FeatureNewKwargs('build target', '0.42.0', ['rust_crate_type', 'build_rpath', 'implicit_include_directories'])
+ @FeatureNewKwargs('build target', '0.41.0', ['rust_args'])
+ @FeatureNewKwargs('build target', '0.40.0', ['build_by_default'])
def process_kwargs(self, kwargs):
if 'build_by_default' in kwargs:
self.build_by_default = kwargs['build_by_default']
@@ -1082,6 +1086,7 @@ recommended as it can lead to undefined behaviour on some platforms''')
return
class Generator:
+ @FeatureNewKwargs('generator', '0.43.0', 'capture')
def __init__(self, args, kwargs):
if len(args) != 1:
raise InvalidArguments('Generator requires exactly one positional argument: the executable')
@@ -1763,6 +1768,9 @@ class CustomTarget(Target):
if 'install_dir' not in kwargs:
raise InvalidArguments('"install_dir" must be specified '
'when installing a target')
+
+ if isinstance(kwargs['install_dir'], list):
+ FeatureNew('multiple install_dir for custom_target', '0.40.0').use()
# If an item in this list is False, the output corresponding to
# the list index of that item will not be installed
self.install_dir = typeslistify(kwargs['install_dir'], (str, bool))