70 lines
1.9 KiB
Meson
70 lines
1.9 KiB
Meson
project('evol-headers', 'c',
|
|
default_options : [
|
|
'c_std=c23',
|
|
# 'warning_level=everything',
|
|
# 'werror=true'
|
|
]
|
|
)
|
|
|
|
headers_include = include_directories('.')
|
|
|
|
disabled_warnings = {
|
|
'clang': [
|
|
'unused-macros',
|
|
'reserved-macro-identifier',
|
|
'pre-c11-compat',
|
|
'pre-c23-compat',
|
|
]
|
|
}
|
|
|
|
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
|
|
|
|
foreach w:disabled_warnings[cc.get_id()]
|
|
evh_c_args += '-Wno-'+w
|
|
endforeach
|
|
|
|
# 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
|
|
]
|
|
)
|
|
|
|
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)
|
|
|
|
# if build_tests
|
|
subdir('tests')
|
|
#endif
|