diff options
Diffstat (limited to 'meson/test cases/common/223 persubproject options/subprojects')
4 files changed, 36 insertions, 0 deletions
diff --git a/meson/test cases/common/223 persubproject options/subprojects/sub1/foo.c b/meson/test cases/common/223 persubproject options/subprojects/sub1/foo.c new file mode 100644 index 000000000..82ad2c2d0 --- /dev/null +++ b/meson/test cases/common/223 persubproject options/subprojects/sub1/foo.c @@ -0,0 +1,8 @@ +int foo(void); + +int foo(void) { + /* This is built with -Werror, it would error if warning_level=3 was inherited + * from main project and not overridden by this subproject's default_options. */ + int x; + return 0; +} diff --git a/meson/test cases/common/223 persubproject options/subprojects/sub1/meson.build b/meson/test cases/common/223 persubproject options/subprojects/sub1/meson.build new file mode 100644 index 000000000..4e4bc1ba0 --- /dev/null +++ b/meson/test cases/common/223 persubproject options/subprojects/sub1/meson.build @@ -0,0 +1,9 @@ +project('sub1', 'c', + default_options : ['warning_level=0']) + +assert(get_option('default_library') == 'both', 'Should inherit parent project default_library') +assert(get_option('warning_level') == '0') + +# Check it build both by calling a method only both_libraries target implement +lib = library('lib1', 'foo.c') +lib.get_static_lib() diff --git a/meson/test cases/common/223 persubproject options/subprojects/sub2/foo.c b/meson/test cases/common/223 persubproject options/subprojects/sub2/foo.c new file mode 100644 index 000000000..cf7201b92 --- /dev/null +++ b/meson/test cases/common/223 persubproject options/subprojects/sub2/foo.c @@ -0,0 +1,9 @@ +int foo(void); + +#ifdef __GNUC__ +#warning This should not produce error +#endif + +int foo(void) { + return 0; +} diff --git a/meson/test cases/common/223 persubproject options/subprojects/sub2/meson.build b/meson/test cases/common/223 persubproject options/subprojects/sub2/meson.build new file mode 100644 index 000000000..f1226b8ba --- /dev/null +++ b/meson/test cases/common/223 persubproject options/subprojects/sub2/meson.build @@ -0,0 +1,10 @@ +project('sub2', 'c', + default_options : ['default_library=shared', + 'werror=false']) + +assert(get_option('default_library') == 'static', 'Parent should override default_library') +assert(not get_option('werror')) + +# If it doesn't build only a static library, it would make target name clash. +library('lib1', 'foo.c') +shared_library('lib1', 'foo.c') |