vulkan-test/meson.build

60 lines
1.5 KiB
Meson

project(
'graphics-test',
'cpp',
version: '0.1.0',
default_options: ['cpp_std=c++26', 'warning_level=everything', 'buildtype=debugoptimized'],
)
cpp = meson.get_compiler('cpp')
common_cpp_args = [
'-Wno-c++20-compat',
'-Wno-c++20-extensions',
'-Wno-c++98-compat',
'-Wno-c++98-compat-pedantic',
'-Wno-disabled-macro-expansion',
'-Wno-missing-prototypes',
'-Wno-padded',
'-Wno-pre-c++20-compat-pedantic',
'-Wno-switch-default',
'-Wno-unsafe-buffer-usage',
'-Wunused-function',
'-fvisibility=hidden',
]
add_project_arguments(cpp.get_supported_arguments(common_cpp_args), language: 'cpp')
deps = [
dependency('fmt', include_type: 'system'),
dependency('glfw3', include_type: 'system'),
dependency('glm', include_type: 'system'),
dependency('vulkan', include_type: 'system'),
]
spirv_dep = dependency('SPIRV-Tools', required: false, include_type: 'system')
if not spirv_dep.found()
spirv_dep = cpp.find_library('SPIRV-Tools', required: true)
endif
glslang_dep = dependency('glslang', required: false, include_type: 'system')
if not glslang_dep.found()
glslang_dep = cpp.find_library('glslang', required: true)
endif
imgui_dep = dependency('imgui', required: false, include_type: 'system')
if not imgui_dep.found()
imgui_dep = cpp.find_library('imgui', required: true)
endif
deps += [glslang_dep, spirv_dep, imgui_dep]
executable(
'graphics-test',
sources: files('src/main.cpp'),
include_directories: include_directories('include', is_system: true),
dependencies: deps,
)