diff options
| author | Egor Tensin <egor@tensin.name> | 2026-10-24 15:47:38 +0300 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-10-24 15:47:38 +0300 |
| commit | 28029219f4636243191bf9e6e7e6ae6444d30451 (patch) | |
| tree | 30abad997aed4389489c0d9e43b732c0efb77e7b /src | |
| parent | ditch .git-blame-ignore-revs, who cares (diff) | |
| download | cimple-28029219f4636243191bf9e6e7e6ae6444d30451.tar.gz cimple-28029219f4636243191bf9e6e7e6ae6444d30451.zip | |
WIPmeson
Diffstat (limited to 'src')
| -rw-r--r-- | src/meson.build | 123 | ||||
| -rw-r--r-- | src/sqlite/meson.build | 8 | ||||
| -rw-r--r-- | src/storage_sqlite.c | 3 |
3 files changed, 133 insertions, 1 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, +) diff --git a/src/sqlite/meson.build b/src/sqlite/meson.build new file mode 100644 index 0000000..ac8edae --- /dev/null +++ b/src/sqlite/meson.build @@ -0,0 +1,8 @@ +python = import('python').find_installation() + +sqlite_sql_h = custom_target( + 'sqlite_sql_h', + input: ['../generate-sql-header.py', 'v01.sql'], + output: 'sqlite_sql.h', + command: [python, '@INPUT0@', meson.current_source_dir(), '-o', '@OUTPUT@'], +) diff --git a/src/storage_sqlite.c b/src/storage_sqlite.c index c4036c8..2b9ec1b 100644 --- a/src/storage_sqlite.c +++ b/src/storage_sqlite.c @@ -10,10 +10,11 @@ #include "log.h" #include "process.h" #include "run_queue.h" -#include "sql/sqlite_sql.h" #include "sqlite.h" #include "storage.h" +#include <sqlite_sql.h> + #include <sqlite3.h> #include <pthread.h> |
