diff options
Diffstat (limited to 'bittorrent/bittorrent/meson.build')
| -rw-r--r-- | bittorrent/bittorrent/meson.build | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/bittorrent/bittorrent/meson.build b/bittorrent/bittorrent/meson.build new file mode 100644 index 0000000..4353081 --- /dev/null +++ b/bittorrent/bittorrent/meson.build @@ -0,0 +1,102 @@ +project( + 'bittorrent', # project name + 'c', # project language + meson_version: '>= 1.1.0', # meson minimum version + version: '1.0.0', # project version + default_options: [ + 'c_args=-D_GNU_SOURCE', + 'c_std=c99', # -std=c99 + 'debug=true', # -g + 'optimization=0', # -O0 + 'warning_level=2', # -Wall -Wextra + 'werror=true', # -Werror + 'b_sanitize=address,undefined', # -fsanitize=address,undefined + ], +) + +add_project_arguments('-Wvla', language: 'c') + +# all .c files +mbtbe_CFILES = run_command('find', 'libs/mbtbe/src', '-name', '*.c', '-not', '-path', '*tests*').stdout().split() +#message(mbtbe_CFILES) +mbtfile_CFILES = run_command('find', 'libs/mbtfile/src', '-name', '*.c', '-not', '-path', '*tests*').stdout().split() +#message(mbtfile_CFILES) +mbtnet_CFILES = run_command('find', 'libs/mbtnet/src', '-name', '*.c', '-not', '-path', '*tests*').stdout().split() +#message(mbtnet_CFILES) +mbtutils_CFILES = run_command('find', 'libs/mbtutils/src', '-name', '*.c', '-not', '-path', '*tests*').stdout().split() +#message(mbtutils_CFILES) +src_CFILES = run_command('find', 'src', '-name', '*.c', '-not', '-path', '*tests*').stdout().split() +#message(src_CFILES) + +# all includes +mbtbe_include = [include_directories('libs/mbtbe/include')] +mbtfile_include = [include_directories('libs/mbtfile/include')] +mbtnet_include = [include_directories('libs/mbtnet/include')] +mbtutils_include = [include_directories('libs/mbtutils/include')] + +#dependencies +DEPS = [dependency('libcurl'), dependency('openssl')] + +mbtutils_dep = declare_dependency(include_directories: mbtutils_include, dependencies: DEPS) + +mbtbe_dep = declare_dependency(include_directories: mbtbe_include + mbtutils_include, dependencies: DEPS) + +mbtfile_dep = declare_dependency( + include_directories: mbtfile_include + mbtutils_include + mbtbe_include, + dependencies: DEPS, +) + +mbtnet_dep = declare_dependency( + include_directories: mbtnet_include + mbtutils_include + mbtbe_include + mbtfile_include, + dependencies: DEPS, +) + +mbtutils = shared_library( + 'mbtutils', + sources: mbtutils_CFILES, + include_directories: mbtutils_include + [include_directories('libs/mbtutils/src')], + dependencies: mbtutils_dep, + install: true, +) + +mbtbe = shared_library( + 'mbtbe', + sources: mbtbe_CFILES + mbtutils_CFILES, + include_directories: mbtbe_include + [include_directories('libs/mbtbe/src')] + mbtutils_include, + dependencies: mbtbe_dep, + install: true, +) + +mbtfile = shared_library( + 'mbtfile', + sources: mbtfile_CFILES + mbtutils_CFILES + mbtbe_CFILES, + include_directories: mbtfile_include + + [include_directories('libs/mbtfile/src')] + + mbtutils_include + + mbtbe_include, + dependencies: mbtfile_dep, + install: true, +) + +mbtnet = shared_library( + 'mbtnet', + sources: mbtnet_CFILES + mbtutils_CFILES + mbtbe_CFILES + mbtfile_CFILES, + include_directories: mbtnet_include + + [include_directories('libs/mbtnet/src')] + + mbtutils_include + + mbtfile_include + + mbtbe_include, + dependencies: mbtnet_dep, + install: true, +) + +testbe = executable( + 'mbt', + sources: mbtbe_CFILES + mbtutils_CFILES + mbtnet_CFILES + mbtfile_CFILES + src_CFILES, + include_directories: mbtnet_include + + mbtutils_include + + mbtfile_include + + mbtbe_include, + dependencies: mbtnet_dep, + install: true, +)
\ No newline at end of file |
