Files
MacroLibX/meson.build
0verLighT 59b3a297f9 chore: rm wrap_mode force-fallback
sdl2 warp should be used only if the system does not have sdl2 dependency
2026-03-24 23:14:42 +01:00

107 lines
2.9 KiB
Meson

project('MacroLibX',
['c', 'cpp'],
version : '2.3.0',
license : 'MIT',
meson_version : '>= 0.63.0',
default_options : [
'warning_level=2',
'optimization=3',
'cpp_std=c++20',
]
)
add_project_arguments('-DSDL_MAIN_HANDLED', language : 'c')
if get_option('graphics_memory_dump')
add_project_arguments('-DGRAPHICS_MEMORY_DUMP', language : 'c')
endif
if get_option('profiler')
add_project_arguments('-DPROFILER_ENABLED', language : 'c')
endif
if get_option('force_wayland')
add_project_arguments('-DFORCE_WAYLAND', language : 'c')
endif
if get_option('disable_all_safeties')
add_project_arguments('-DDISABLE_ALL_SAFETIES', language : 'c')
endif
includes_directories = include_directories(
'includes',
'runtime/Includes',
'runtime/Sources',
'third_party',
)
sources = files(
'runtime/Sources/Core/Application.cpp',
'runtime/Sources/Core/Bridge.cpp',
'runtime/Sources/Core/EventBus.cpp',
'runtime/Sources/Core/EventListener.cpp',
'runtime/Sources/Core/Fps.cpp',
'runtime/Sources/Core/Graphics.cpp',
'runtime/Sources/Core/Logs.cpp',
'runtime/Sources/Core/Memory.cpp',
'runtime/Sources/Core/Profiler.cpp',
'runtime/Sources/Core/SDLManager.cpp',
'runtime/Sources/Core/UUID.cpp',
'runtime/Sources/Graphics/Font.cpp',
'runtime/Sources/Graphics/Mesh.cpp',
'runtime/Sources/Graphics/PutPixelManager.cpp',
'runtime/Sources/Graphics/Scene.cpp',
'runtime/Sources/Graphics/Sprite.cpp',
'runtime/Sources/Graphics/Text.cpp',
'runtime/Sources/Platform/Inputs.cpp',
'runtime/Sources/Platform/Window.cpp',
'runtime/Sources/Renderer/Pipelines/Graphics.cpp',
'runtime/Sources/Renderer/Pipelines/Shader.cpp',
'runtime/Sources/Renderer/RenderPasses/2DPass.cpp',
'runtime/Sources/Renderer/RenderPasses/FinalPass.cpp',
'runtime/Sources/Renderer/RenderPasses/Passes.cpp',
'runtime/Sources/Renderer/Vulkan/VulkanLoader.cpp',
'runtime/Sources/Renderer/Buffer.cpp',
'runtime/Sources/Renderer/Descriptor.cpp',
'runtime/Sources/Renderer/Image.cpp',
'runtime/Sources/Renderer/Memory.cpp',
'runtime/Sources/Renderer/RenderCore.cpp',
'runtime/Sources/Renderer/Renderer.cpp',
'runtime/Sources/Renderer/SceneRenderer.cpp',
'runtime/Sources/Renderer/Swapchain.cpp',
)
mlx_headers = [
'includes/mlx.h',
'includes/mlx_extended.h',
'includes/mlx_profile.h'
]
install_headers(mlx_headers)
deps = dependency('sdl2')
libmlx = library('mlx',
sources,
include_directories : includes_directories,
dependencies : deps,
install : true)
libmlx_dep = declare_dependency(
include_directories: includes_directories,
dependencies : deps,
link_with : libmlx)
meson.override_dependency('mlx', libmlx_dep)
# PKG CONFIG GENERATION
pkg_mod = import('pkgconfig')
pkg_mod.generate(
libmlx,
name : 'mlx',
description : 'MacroLibX Library',
version : meson.project_version(),
subdirs : ['.'],
)