Files
evol-headers/meson.build
2025-07-07 16:36:29 +03:00

56 lines
1.9 KiB
Meson

project('evol-headers', 'c',
default_options : [ 'c_std=gnu23' ])
headers_include = include_directories('.')
evh_c_args = []
buildtype = get_option('buildtype')
if buildtype == 'debug'
evh_c_args += '-DEV_BUILDTYPE_DEBUG=1'
elif buildtype == 'debugoptimized'
evh_c_args += '-DEV_BUILDTYPE_DEBUGOPT=1'
else
evh_c_args += '-DEV_BUILDTYPE_RELEASE=1'
endif
cc = meson.get_compiler('c')
if cc.get_id() == 'msvc'
evh_c_args += '/Zc:preprocessor'
elif cc.get_id() == 'clang'
evh_c_args += '-DEV_CC_CLANG=1'
endif
# All other targets should follow the same template
str_lib = static_library('ev_str', files('buildfiles/ev_str.c'), c_args: evh_c_args)
vec_lib = static_library('ev_vec', files('buildfiles/ev_vec.c'), c_args: evh_c_args)
helpers_lib = static_library('ev_helpers', files('buildfiles/ev_helpers.c'), c_args: evh_c_args)
log_lib = static_library('ev_log', files('buildfiles/ev_log.c'), c_args: evh_c_args)
str_dep = declare_dependency(link_with: str_lib, include_directories: headers_include)
vec_dep = declare_dependency(link_with: vec_lib, include_directories: headers_include)
helpers_dep = declare_dependency(link_with: helpers_lib, include_directories: headers_include)
log_dep = declare_dependency(link_with: log_lib, include_directories: headers_include)
headers_dep = declare_dependency(
dependencies: [
str_dep,
vec_dep,
helpers_dep,
log_dep
]
)
# Tests
str_test = executable('str_test', 'str_test.c', dependencies: [str_dep], c_args: evh_c_args)
test('evstr', str_test)
log_test = executable('log_test', 'log_test.c', dependencies: [log_dep], c_args: evh_c_args)
test('evlog', log_test)
if meson.version().version_compare('>= 0.54.0')
meson.override_dependency('ev_vec', vec_dep)
meson.override_dependency('ev_str', str_dep)
meson.override_dependency('ev_helpers', helpers_dep)
meson.override_dependency('ev_log', log_dep)
meson.override_dependency('evol-headers', headers_dep)
endif