X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=meson.build;h=9dbfd22648c140dbfded07ed3133bc95fc3e00e4;hb=e9bec1e17f41f66d3567148e110fe8a3b6451fb3;hp=6c13d8c28108e884da0fd0b3c16c4713e7285f15;hpb=6e116a6bbeb2c047a3bfb084395ec601ce211e6c;p=nageru diff --git a/meson.build b/meson.build index 6c13d8c..9dbfd22 100644 --- a/meson.build +++ b/meson.build @@ -1,2 +1,43 @@ -project('futatabi', 'cpp') +project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.0-pre') + +cxx = meson.get_compiler('cpp') + +# Use lld if we can; it links a lot faster than ld.bfd or gold. +code = '''#include +int main() { printf("Hello, world!\n"); return 0; } +''' +if cxx.links(code, args: '-fuse-ld=lld', name: 'check for LLD') + add_project_link_arguments('-fuse-ld=lld', language: 'cpp') +endif + +# Add the right MOVIT_SHADER_DIR definition. +r = run_command('pkg-config', '--variable=shaderdir', 'movit') +if r.returncode() != 0 + error('Movit pkg-config installation is broken.') +endif +add_project_arguments('-DMOVIT_SHADER_DIR="' + r.stdout().strip() + '"', language: 'cpp') + +# Make the Nageru version available as a #define. +add_project_arguments('-DNAGERU_VERSION="' + meson.project_version() + '"', language: 'cpp') + +# DeckLink has these issues, and we include it from various places. +if cxx.has_argument('-Wno-non-virtual-dtor') + add_project_arguments('-Wno-non-virtual-dtor', language: 'cpp') +endif + +# FFmpeg has a lot of deprecated APIs whose replacements are not available +# in Debian stable, so we suppress these warnings. +if cxx.has_argument('-Wno-deprecated-declarations') + add_project_arguments('-Wno-deprecated-declarations', language: 'cpp') +endif + +# This needs to be done before declaring any build targets. +if get_option('cef_dir') != '' + add_project_arguments('-DHAVE_CEF=1', language: 'cpp') +endif + +top_include = include_directories('.') + +subdir('shared') +subdir('nageru') subdir('futatabi')