97 lines
1.8 KiB
Meson
97 lines
1.8 KiB
Meson
project(
|
|
'glava',
|
|
'c',
|
|
version: run_command('git', 'describe', '--tags').stdout().strip()
|
|
)
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
if get_option('buildtype').startswith('debug')
|
|
add_project_arguments(
|
|
'-O0',
|
|
'-ggdb',
|
|
'-Wall',
|
|
'-DGLAVA_DEBUG',
|
|
language: 'c'
|
|
)
|
|
if get_option('glad')
|
|
run_command('./glad_generate.sh', 'c-debug')
|
|
endif
|
|
else
|
|
add_project_arguments(
|
|
'-O2',
|
|
'-Wstringpop-overflow=0',
|
|
language: 'c'
|
|
)
|
|
if get_option('glad')
|
|
run_command('./glad_generate.sh')
|
|
endif
|
|
endif
|
|
|
|
glava_dependencies = [
|
|
dependency('threads'),
|
|
cc.find_library('pulse'),
|
|
cc.find_library('pulse-simple'),
|
|
cc.find_library('dl'),
|
|
cc.find_library('m'),
|
|
cc.find_library('X11'),
|
|
cc.find_library('Xext')
|
|
]
|
|
|
|
glava_version = meson.project_version()
|
|
if glava_version == ''
|
|
glava_version = 'unknown'
|
|
endif
|
|
|
|
shaderdir = get_option('shaderdir')
|
|
if host_machine.system() == 'linux'
|
|
add_project_arguments(
|
|
'-DGLAVA_UNIX',
|
|
language: 'c'
|
|
)
|
|
endif
|
|
if host_machine.system() == 'darwin'
|
|
add_project_arguments(
|
|
'-DGLAVA_OSX',
|
|
language: 'c'
|
|
)
|
|
shaderdir = '/Library/glava/'
|
|
endif
|
|
|
|
if get_option('enable_glfw')
|
|
add_project_arguments(
|
|
'-DGLAVA_GLFW',
|
|
language: 'c'
|
|
)
|
|
glava_dependencies += dependency('glfw')
|
|
endif
|
|
|
|
if not get_option('disable_glx')
|
|
add_project_arguments(
|
|
'-DGLAVA_GLX',
|
|
language: 'c'
|
|
)
|
|
glava_dependencies += cc.find_library('Xrender')
|
|
endif
|
|
|
|
if get_option('standalone')
|
|
add_project_arguments(
|
|
'-DGLAVA_STANDALONE',
|
|
language: 'c')
|
|
endif
|
|
|
|
add_project_arguments(
|
|
'-DGLAVA_VERSION="'+glava_version+'"',
|
|
'-DSHADER_INSTALL_PATH="'+shaderdir+'"',
|
|
language: 'c'
|
|
)
|
|
|
|
executable(
|
|
'glava',
|
|
sources: run_command('find', 'glava', '-type', 'f', '-name', '*.c', '-print').stdout().strip().split('\n'),
|
|
dependencies: glava_dependencies,
|
|
install: true
|
|
)
|
|
|
|
install_subdir('shaders/glava', install_dir: shaderdir+'/../')
|