aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/meson.build
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-10-24 15:47:38 +0300
committerEgor Tensin <egor@tensin.name>2026-10-24 15:47:38 +0300
commit28029219f4636243191bf9e6e7e6ae6444d30451 (patch)
tree30abad997aed4389489c0d9e43b732c0efb77e7b /src/meson.build
parentditch .git-blame-ignore-revs, who cares (diff)
downloadcimple-meson.tar.gz
cimple-meson.zip
Diffstat (limited to '')
-rw-r--r--src/meson.build123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..48986a0
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,123 @@
+add_project_arguments('-D_GNU_SOURCE', language: 'c')
+
+git2 = dependency('libgit2')
+json_c = dependency('json-c')
+sodium = dependency('libsodium')
+sqlite3 = dependency('sqlite3')
+threads = dependency('threads')
+
+rev = run_command('git', 'rev-parse', '--verify', 'HEAD', check: true)
+
+const_c_config = configuration_data(
+ {
+ 'PROJECT_VERSION': meson.project_version(),
+ 'PROJECT_REV': rev.stdout().strip(),
+ },
+)
+
+foreach opt : ['DEFAULT_HOST', 'DEFAULT_PORT', 'DEFAULT_SQLITE_PATH']
+ const_c_config.set(opt, get_option(opt))
+endforeach
+
+const_c = configure_file(
+ input: 'const.c.template',
+ output: 'const.c',
+ configuration: const_c_config,
+)
+
+subdir('sqlite')
+
+server = executable(
+ meson.project_name() + '-server',
+ sources: [
+ 'base64.c',
+ 'buf.c',
+ 'cmd_line.c',
+ 'command.c',
+ const_c,
+ 'event_loop.c',
+ 'file.c',
+ 'json.c',
+ 'json_rpc.c',
+ 'log.c',
+ 'net.c',
+ 'process.c',
+ 'protocol.c',
+ 'run_queue.c',
+ 'signal.c',
+ 'server.c',
+ 'server_main.c',
+ 'sqlite.c',
+ sqlite_sql_h,
+ 'storage.c',
+ 'storage_sqlite.c',
+ 'string.c',
+ 'tcp_server.c',
+ 'worker_queue.c',
+ ],
+ dependencies: [
+ json_c,
+ sodium,
+ sqlite3,
+ threads,
+ ],
+ implicit_include_directories: false,
+ include_directories: include_directories('sqlite'),
+)
+
+client = executable(
+ meson.project_name() + '-client',
+ sources: [
+ 'base64.c',
+ 'buf.c',
+ 'client.c',
+ 'client_main.c',
+ 'cmd_line.c',
+ const_c,
+ 'file.c',
+ 'json.c',
+ 'json_rpc.c',
+ 'log.c',
+ 'net.c',
+ 'process.c',
+ 'protocol.c',
+ 'run_queue.c',
+ ],
+ dependencies: [
+ json_c,
+ sodium,
+ ],
+ implicit_include_directories: false,
+)
+
+worker = executable(
+ meson.project_name() + '-worker',
+ sources: [
+ 'base64.c',
+ 'buf.c',
+ 'ci.c',
+ 'cmd_line.c',
+ 'command.c',
+ const_c,
+ 'event_loop.c',
+ 'file.c',
+ 'git.c',
+ 'json.c',
+ 'json_rpc.c',
+ 'log.c',
+ 'net.c',
+ 'process.c',
+ 'protocol.c',
+ 'run_queue.c',
+ 'signal.c',
+ 'string.c',
+ 'worker.c',
+ 'worker_main.c',
+ ],
+ dependencies: [
+ git2,
+ json_c,
+ sodium,
+ ],
+ implicit_include_directories: false,
+)