Files
evk/meson.build
T
mo7sen 3a2cc0d312
Test Compilation / Build evk (push) Successful in 31s
Enforced usage of volk subproject
2026-05-08 12:45:53 +03:00

98 lines
2.0 KiB
Meson

project('evk', ['c','cpp'],
version : '0.1',
default_options : [
'c_std=c23',
'default_library=static',
'c_args=-fcolor-diagnostics -fansi-escape-codes',
'cpp_args=-fcolor-diagnostics -fansi-escape-codes',
])
build_config = configuration_data()
buildtype = get_option('buildtype')
if buildtype == 'debug'
build_config.set('EV_BUILDTYPE_DEBUG', 1)
elif buildtype == 'debugoptimized'
build_config.set('EV_BUILDTYPE_DEBUGOPT', 1)
else
build_config.set('EV_BUILDTYPE_RELEASE', 1)
endif
configure_file(output: 'evk_buildconfig.h', configuration: build_config)
disabled_warnings = {
'clang': [
'microsoft-anon-tag',
],
}
subproject('evol-headers')
subproject('volk')
evk_c_args = []
cc = meson.get_compiler('c')
if cc.get_id() == 'msvc'
evk_c_args += '/Zc:preprocessor'
elif cc.get_id() == 'clang'
evk_c_args += '-DEV_CC_CLANG=1'
evk_c_args += '-fms-extensions'
endif
foreach w : disabled_warnings[cc.get_id()]
evk_c_args += '-Wno-'+w
endforeach
evk_incdir = include_directories([
'.',
])
evk_src = [
'evk/evkInstance.c',
'evk/evkDevice.c',
'evk/evkAllocator.c',
'evk/evkSync.c',
'evk/evkShader.c',
'evk/evkSwapChain.c',
'evk/evkAllocator.c',
'evk/evkCommand.c',
'evk/evkPipeline.c',
'evk/evkDescriptor.c',
'evk/evkRender.c',
'evk/evkImage.c',
'evk/evkBuffer.c',
'evk/evkMemory.c',
]
evk_lib = library(
'evk',
evk_src,
include_directories: evk_incdir,
dependencies: [
dependency('evol-headers'),
dependency('vma'),
dependency('volk'),
dependency('shaderc'),
dependency('spvref'),
],
c_args: evk_c_args,
)
evk_dep = declare_dependency(
link_with: evk_lib,
include_directories: evk_incdir,
dependencies: [
dependency('volk').partial_dependency(includes: true, compile_args: true),
dependency('vma').partial_dependency(includes: true),
dependency('evol-headers').partial_dependency(includes: true),
])
meson.override_dependency('evk', evk_dep)
# if build_samples
subdir('samples')
# endif