diff options
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..fdd3641 --- /dev/null +++ b/meson.build @@ -0,0 +1,90 @@ +project('gupnp-av', 'c', version : '0.12.11') + +gnome = import('gnome') + +gobject = dependency('gobject-2.0', version : '>= 2.38') +libxml = dependency('libxml-2.0') + +cc = meson.get_compiler('c') + +# Compiler flags, taken from the Xorg macros +if cc.get_id() == 'msvc' + # Compiler options taken from msvc_recommended_pragmas.h + # in GLib, based on _Win32_Programming_ by Rector and Newcomer + test_cflags = [ + '-we4002', # too many actual parameters for macro + '-we4003', # not enough actual parameters for macro + '-w14010', # single-line comment contains line-continuation character + '-we4013', # 'function' undefined; assuming extern returning int + '-w14016', # no function return type; using int as default + '-we4020', # too many actual parameters + '-we4021', # too few actual parameters + '-we4027', # function declared without formal parameter list + '-we4029', # declared formal parameter list different from definition + '-we4033', # 'function' must return a value + '-we4035', # 'function' : no return value + '-we4045', # array bounds overflow + '-we4047', # different levels of indirection + '-we4049', # terminating line number emission + '-we4053', # an expression of type void was used as an operand + '-we4071', # no function prototype given + '-we4819', # the file contains a character that cannot be represented in the current code page + ] +elif cc.get_id() == 'gcc' or cc.get_id() == 'clang' + test_cflags = [ + '-Wpointer-arith', + '-Wmissing-declarations', + '-Wformat=2', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wnested-externs', + '-Wbad-function-cast', + '-Wold-style-definition', + '-Wdeclaration-after-statement', + '-Wunused', + '-Wuninitialized', + '-Wshadow', + '-Wmissing-noreturn', + '-Wmissing-format-attribute', + '-Wredundant-decls', + '-Wlogical-op', + '-Werror=implicit', + '-Werror=nonnull', + '-Werror=init-self', + '-Werror=main', + '-Werror=missing-braces', + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', + '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', + '-Werror=pointer-to-int-cast', + '-fno-strict-aliasing', + '-Wno-int-conversion', + ] +else + test_cflags = [] +endif + +common_cflags = cc.get_supported_arguments(test_cflags) + +subdir('libgupnp-av') +subdir('tests') +subdir('data') + +pkg = import('pkgconfig') +pkg.generate( + gupnp_av_lib, + subdirs : 'gupnp-av-1.0', + description : 'GObject-based AV specific UPnP library' +) + +if get_option('gtk_doc') + subdir('doc') +endif + +if get_option('introspection') and get_option('vapi') + subdir('vala') +endif |