dreamcast-opengl/meson.build
Fries 23dd7ace18 Parse a cube .obj file to display.
Right now the implementation is extremely unoptimized and draw call heavy as I just copy and pasted that from the docs for tiny obj loader but added gl calls.
2024-03-13 21:49:35 -07:00

40 lines
1.3 KiB
Meson

project('dreamcast-opengl', 'c', 'cpp', default_options: ['cpp_std=c++20'])
cc = meson.get_compiler('c')
kosinc = include_directories('/opt/toolchains/dc/kos/include')
koskernelinc = include_directories('/opt/toolchains/dc/kos/kernel/arch/dreamcast/include')
kosaddonsinc = include_directories('/opt/toolchains/dc/kos/addons/include')
kosportsinc = include_directories('/opt/toolchains/dc/kos-ports/include')
GL = cc.find_library('GL', required: true)
math = cc.find_library('m', required: true)
stb_image = cc.find_library('stb_image', required: true)
subdir('romdisk')
tinyobjloader = subproject('tinyobjloader')
tinyobjloader_dep = tinyobjloader.get_variable('tinyobjloader_dep')
# pcx = cc.find_library('pcx', required: true)
# kosutils = cc.find_library('kosutils', required: true)
deps = [
GL,
math,
stb_image,
tinyobjloader_dep
]
incdirs = [
kosinc,
koskernelinc,
kosaddonsinc,
kosportsinc
]
engine = static_library('engine', ['engine.cc'], dependencies: deps, include_directories: incdirs)
engine_dep = declare_dependency(link_with: engine, include_directories: incdirs)
deps += [engine_dep]
executable('hello.elf', ['hello.cc'], dependencies: deps, include_directories: incdirs)
executable('gl.elf', ['gl.cc'], dependencies: deps, include_directories: incdirs)
executable('cube.elf', ['cube.cc', romdsk_o], dependencies: deps, include_directories: incdirs)