Page MenuHomePhorge

meson.build
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

meson.build

project('ant', 'c', default_options: [
'optimization=2',
'c_std=gnu23',
'default_library=static'
])
cmake = import('cmake')
include = include_directories('include')
module_files = run_command('sh', '-c',
'cd "$MESON_SOURCE_ROOT" && ls src/modules/*.c',
check: true
).stdout().strip().split()
sources = files(
'src/main.c',
'src/ant.c',
'src/repl.c',
'src/runtime.c',
'src/snapshot.c',
) + files(module_files)
uuid_dep = dependency('uuid', required: true)
zlib_dep = dependency('zlib', required: true)
llhttp = dependency('llhttp', required: true)
openssl_dep = dependency('openssl', required: true)
libsodium_dep = dependency('libsodium', required: true)
if host_machine.system() == 'darwin'
security_dep = dependency('appleframeworks', modules: ['Security', 'CoreFoundation'], required: true)
endif
tlsuv_opts = cmake.subproject_options()
tlsuv_opts.append_compile_args('c', [
'-Wno-unused-function',
'-Wno-unused-variable',
'-Wno-bitwise-op-parentheses',
'-Wno-sometimes-uninitialized'
])
tlsuv_opts.add_cmake_defines({'BUILD_TESTING': 'OFF'})
tlsuv_dep = cmake.subproject('tlsuv', options: tlsuv_opts).dependency('tlsuv')
bdwgc_dep = subproject('bdwgc').get_variable('bdwgc_dep')
uthash_dep = subproject('uthash').get_variable('uthash_dep')
yyjson_dep = subproject('yyjson').get_variable('yyjson_dep')
uuidv7_dep = subproject('uuidv7').get_variable('uuidv7_dep')
mongoose_dep = subproject('mongoose').get_variable('mongoose_dep')
argtable3_dep = subproject('argtable3').get_variable('argtable3_dep')
minicoro_dep = subproject('minicoro').get_variable('minicoro_dep')
libuv_dep = subproject('libuv', default_options: [
'build_tests=false',
'build_benchmarks=false'
]).get_variable('libuv_dep')
git = find_program('git', required: false)
if git.found()
git_commit = run_command(git, 'rev-parse', '--short=10', 'HEAD', check: false)
if git_commit.returncode() == 0
git_hash = git_commit.stdout().strip()
else
git_hash = 'unknown'
endif
else
git_hash = 'unknown'
endif
build_date = run_command('date', '+%Y-%m-%d', check: true).stdout().strip()
version_conf = configuration_data()
version_conf.set('ANT_VERSION', '0.0.7.11')
version_conf.set('ANT_GIT_HASH', git_hash)
version_conf.set('ANT_BUILD_DATE', build_date)
config_h = configure_file(
input: 'include/config.h.in',
output: 'config.h',
configuration: version_conf
)
build_include = include_directories('.')
add_project_arguments(
'-D JS_DUMP',
'-Wno-unused-function',
'-D NO_EXECUTE_PERMISSION',
language: 'c')
gen_snapshot = executable(
'gen_snapshot',
files('src/tools/gen_snapshot.c'),
include_directories: [include, build_include],
c_args: ['-DANT_SNAPSHOT_GENERATOR'],
native: true
)
snapshot_h = custom_target(
'snapshot',
input: 'src/core/index.js',
output: 'snapshot_data.h',
command: [
gen_snapshot,
'@INPUT@',
'@OUTPUT@',
'VERSION=' + version_conf.get('ANT_VERSION'),
'GIT_HASH=' + version_conf.get('ANT_GIT_HASH'),
'BUILD_DATE=' + version_conf.get('ANT_BUILD_DATE')
],
build_by_default: true
)
ant_deps = [
bdwgc_dep, uuid_dep,
llhttp, mongoose_dep,
libuv_dep, argtable3_dep,
tlsuv_dep, libsodium_dep,
yyjson_dep, minicoro_dep,
uuidv7_dep, openssl_dep,
zlib_dep, uthash_dep
]
if host_machine.system() == 'darwin'
ant_deps += [security_dep]
endif
executable(
'ant',
sources + [snapshot_h],
include_directories: [include, build_include],
dependencies: ant_deps
)

File Metadata

Mime Type
text/plain
Expires
Sun, May 3, 9:23 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
531446
Default Alt Text
meson.build (3 KB)

Event Timeline