diff options
-rw-r--r-- | docs/markdown/Reference-manual.md | 2 | ||||
-rw-r--r-- | docs/markdown/snippets/build_target_older_name.md | 2 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 7 | ||||
-rw-r--r-- | test cases/common/1 trivial/meson.build | 2 | ||||
-rw-r--r-- | test cases/common/3 static/meson.build | 2 |
5 files changed, 13 insertions, 2 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index ff82164..e43ef57 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -2268,6 +2268,8 @@ A build target is either an [executable](#executable), target, usually only needed if an another target needs to access some generated internal headers of this target +- `name()` *Since 0.54.0*, returns the target name. + ### `configuration` data object diff --git a/docs/markdown/snippets/build_target_older_name.md b/docs/markdown/snippets/build_target_older_name.md new file mode 100644 index 0000000..e9399da --- /dev/null +++ b/docs/markdown/snippets/build_target_older_name.md @@ -0,0 +1,2 @@ +## Added 'name' method +Build target objects (as returned by executable(), library(), ...) now have a name() method. diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index dad2933..9e88975 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -771,6 +771,7 @@ class BuildTargetHolder(TargetHolder): super().__init__(target, interp) self.methods.update({'extract_objects': self.extract_objects_method, 'extract_all_objects': self.extract_all_objects_method, + 'name': self.name_method, 'get_id': self.get_id_method, 'outdir': self.outdir_method, 'full_path': self.full_path_method, @@ -825,6 +826,12 @@ class BuildTargetHolder(TargetHolder): def get_id_method(self, args, kwargs): return self.held_object.get_id() + @FeatureNew('name', '0.54.0') + @noPosargs + @permittedKwargs({}) + def name_method(self, args, kwargs): + return self.held_object.name + class ExecutableHolder(BuildTargetHolder): def __init__(self, target, interp): super().__init__(target, interp) diff --git a/test cases/common/1 trivial/meson.build b/test cases/common/1 trivial/meson.build index c52a7a6..c476c37 100644 --- a/test cases/common/1 trivial/meson.build +++ b/test cases/common/1 trivial/meson.build @@ -20,7 +20,7 @@ if meson.is_cross_build() endif exe = executable('trivialprog', sources : sources) - +assert(exe.name() == 'trivialprog') test('runtest', exe) # This is a comment has_not_changed = false diff --git a/test cases/common/3 static/meson.build b/test cases/common/3 static/meson.build index 84dab95..04ff2f6 100644 --- a/test cases/common/3 static/meson.build +++ b/test cases/common/3 static/meson.build @@ -2,7 +2,7 @@ project('static library test', 'c') lib = static_library('mylib', get_option('source'), link_args : '-THISMUSTNOBEUSED') # Static linker needs to ignore all link args. - +assert(lib.name() == 'mylib') has_not_changed = false if is_disabler(lib) has_not_changed = true |