diff options
-rw-r--r-- | mesonbuild/ast/introspection.py | 2 | ||||
-rwxr-xr-x | run_unittests.py | 8 | ||||
-rw-r--r-- | test cases/unit/55 introspection/meson.build | 1 | ||||
-rw-r--r-- | test cases/unit/55 introspection/meson_options.txt | 1 |
4 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/ast/introspection.py b/mesonbuild/ast/introspection.py index 5745d29..fd7b412 100644 --- a/mesonbuild/ast/introspection.py +++ b/mesonbuild/ast/introspection.py @@ -142,6 +142,8 @@ class IntrospectionInterpreter(AstInterpreter): condition_level = node.condition_level if hasattr(node, 'condition_level') else 0 if isinstance(required, ElementaryNode): required = required.value + if not isinstance(required, bool): + required = False self.dependencies += [{ 'name': name, 'required': required, diff --git a/run_unittests.py b/run_unittests.py index 7ceb553..bc28eea 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -3408,7 +3408,7 @@ recommended as it is not supported on some platforms''') self.assertDictEqual(buildopts_to_find, {}) # Check buildsystem_files - bs_files = ['meson.build', 'sharedlib/meson.build', 'staticlib/meson.build'] + bs_files = ['meson.build', 'meson_options.txt', 'sharedlib/meson.build', 'staticlib/meson.build'] bs_files = [os.path.join(testdir, x) for x in bs_files] self.assertPathListEqual(list(sorted(res['buildsystem_files'])), list(sorted(bs_files))) @@ -3560,6 +3560,12 @@ recommended as it is not supported on some platforms''') 'conditional': False }, { + 'name': 'bugDep1', + 'required': False, + 'has_fallback': False, + 'conditional': False + }, + { 'name': 'somethingthatdoesnotexist', 'required': True, 'has_fallback': False, diff --git a/test cases/unit/55 introspection/meson.build b/test cases/unit/55 introspection/meson.build index 98f6f22..15eb1ed 100644 --- a/test cases/unit/55 introspection/meson.build +++ b/test cases/unit/55 introspection/meson.build @@ -2,6 +2,7 @@ project('introspection', ['c', 'cpp'], version: '1.2.3', default_options: ['cpp_ dep1 = dependency('threads') dep2 = dependency('zlib', required: false) +dep3 = dependency('bugDep1', required: get_option('test_opt1')) if false dependency('somethingthatdoesnotexist', required: true) diff --git a/test cases/unit/55 introspection/meson_options.txt b/test cases/unit/55 introspection/meson_options.txt new file mode 100644 index 0000000..b2956c8 --- /dev/null +++ b/test cases/unit/55 introspection/meson_options.txt @@ -0,0 +1 @@ +option('test_opt1', type: 'boolean', value: false, description: 'simple boolean flag') |