summaryrefslogtreecommitdiff
path: root/bittorrent/bittorrent/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'bittorrent/bittorrent/meson.build')
-rw-r--r--bittorrent/bittorrent/meson.build102
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