2024-09-25 23:03:56 -04:00
|
|
|
project(
|
|
|
|
'graphics-test',
|
|
|
|
'cpp',
|
|
|
|
version: '0.1.0',
|
2024-10-16 23:13:55 -04:00
|
|
|
default_options: ['cpp_std=c++26', 'warning_level=everything', 'buildtype=debugoptimized'],
|
2024-09-25 23:03:56 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
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-pre-c++20-compat-pedantic',
|
2024-10-18 19:10:11 -04:00
|
|
|
'-Wno-padded',
|
2024-11-15 12:40:13 -05:00
|
|
|
'-mavx2',
|
2024-09-25 23:03:56 -04:00
|
|
|
]
|
|
|
|
|
|
|
|
add_project_arguments(cpp.get_supported_arguments(common_cpp_args), language: 'cpp')
|
|
|
|
|
|
|
|
deps = [
|
2024-09-30 17:52:49 -04:00
|
|
|
dependency('fmt', include_type: 'system'),
|
|
|
|
dependency('glfw3', include_type: 'system'),
|
|
|
|
dependency('glm', include_type: 'system'),
|
|
|
|
dependency('vulkan', include_type: 'system'),
|
2024-10-18 19:10:11 -04:00
|
|
|
dependency('shaderc', include_type: 'system'),
|
2024-09-25 23:03:56 -04:00
|
|
|
]
|
|
|
|
|
2024-10-18 13:35:50 -04:00
|
|
|
imgui_dep = dependency('imgui', required: false, include_type: 'system')
|
|
|
|
|
|
|
|
if not imgui_dep.found()
|
|
|
|
imgui_dep = cpp.find_library('imgui', required: true)
|
|
|
|
endif
|
|
|
|
|
2024-10-18 19:10:11 -04:00
|
|
|
deps += imgui_dep
|
2024-10-18 13:35:50 -04:00
|
|
|
|
2024-09-25 23:03:56 -04:00
|
|
|
executable(
|
|
|
|
'graphics-test',
|
2024-11-17 19:48:32 -05:00
|
|
|
sources: files('src/camera/camera.cpp', 'src/main.cpp'),
|
2024-09-30 17:52:49 -04:00
|
|
|
include_directories: include_directories('include', is_system: true),
|
2024-09-25 23:03:56 -04:00
|
|
|
dependencies: deps,
|
2024-11-15 12:40:13 -05:00
|
|
|
)
|