diff options
-rw-r--r-- | docs/markdown/Reference-manual.md | 3 | ||||
-rw-r--r-- | mesonbuild/dependencies/base.py | 2 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 6 | ||||
-rw-r--r-- | test cases/common/146 C and CPP link/meson.build | 2 |
4 files changed, 12 insertions, 1 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index df8531c..e3ae111 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -2045,6 +2045,9 @@ library. This object has the following methods: - `found` which returns whether the library was found. + - `type_name()` (*added 0.48.0*) which returns a string describing + the type of the dependency, which will be `library` in this case. + - `partial_dependency(compile_args : false, link_args : false, links : false, includes : false, source : false)` (*added 0.46.0*) returns a new dependency object with the same name, version, found status, diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 63b817a..0fe702f 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -995,7 +995,7 @@ class NonExistingExternalProgram(ExternalProgram): class ExternalLibrary(ExternalDependency): def __init__(self, name, link_args, environment, language, silent=False): - super().__init__('external', environment, language, {}) + super().__init__('library', environment, language, {}) self.name = name self.language = language self.is_found = False diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 833e982..2c54eae 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -483,6 +483,7 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder): InterpreterObject.__init__(self) ObjectHolder.__init__(self, el, pv) self.methods.update({'found': self.found_method, + 'type_name': self.type_name_method, 'partial_dependency': self.partial_dependency_method, }) @@ -491,6 +492,11 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder): @noPosargs @permittedKwargs({}) + def type_name_method(self, args, kwargs): + return self.held_object.type_name + + @noPosargs + @permittedKwargs({}) def found_method(self, args, kwargs): return self.found() diff --git a/test cases/common/146 C and CPP link/meson.build b/test cases/common/146 C and CPP link/meson.build index 2dd3364..55c1b87 100644 --- a/test cases/common/146 C and CPP link/meson.build +++ b/test cases/common/146 C and CPP link/meson.build @@ -44,6 +44,8 @@ configure_file( command : stlib_cmd) libstcppext = cxx.find_library('stcppext', dirs : meson.current_build_dir()) +lib_type_name = libstcppext.type_name() +assert(lib_type_name == 'library', 'type name is ' + lib_type_name) libfooext = shared_library( 'fooext', |