spmenu/meson.build

100 lines
2.1 KiB
Meson
Raw Normal View History

project(
'spmenu',
'c',
version : '"1.1"',
default_options : ['warning_level=3']
)
imlib2 = true
openssl = true
xresources = true
fribidi = true
libconfig = true
pango = true
pangoxft = true
xinerama = true
opt = '-O2'
cc = meson.get_compiler('c')
project_source_files = [
'libs/libdrw/draw.c',
'spmenu.c',
'libs/sl/main.c',
]
project_dependencies = [
dependency('x11'),
dependency('xrender'),
dependency('freetype2'),
dependency('xft'),
cc.find_library('m', required : false),
]
build_args = [
'-DVERSION=' + meson.project_version(),
'-D_DEFAULT_SOURCE',
'-D_BSD_SOURCE',
'-D_XOPEN_SOURCE=700L',
'-D_POSIX_C_SOURCE=200809L',
'-std=c99',
'-pedantic',
'-Wall',
'-Wno-deprecated-declarations',
'-Wno-unused-parameter',
'-Wno-sign-compare',
opt,
]
if imlib2 and openssl
project_dependencies += [ dependency('imlib2') ]
project_dependencies += [ dependency('openssl') ]
build_args += [ '-DIMAGE' ]
endif
if fribidi
project_dependencies += [ dependency('fribidi') ]
build_args += [ '-DRTL' ]
endif
if xinerama
project_dependencies += [ dependency('xinerama') ]
build_args += [ '-DXINERAMA' ]
endif
if pango and pangoxft
project_dependencies += [ dependency('pango') ]
project_dependencies += [ dependency('pangoxft') ]
build_args += [ '-DPANGO' ]
else
project_dependencies += [ dependency('fontconfig') ]
endif
if libconfig
project_dependencies += [ dependency('libconfig') ]
build_args += [ '-DCONFIG' ]
endif
if xresources
build_args += [ '-DXRESOURCES' ]
endif
project_target = executable(
meson.project_name(),
2023-05-08 10:43:42 +02:00
project_source_files, install : true,
dependencies: project_dependencies,
c_args : build_args,
)
2023-05-08 10:43:42 +02:00
install_man('spmenu.1')
install_data(sources : 'docs/docs.md', install_dir : 'share/spmenu')
install_data(sources : 'docs/code-docs.md', install_dir : 'share/spmenu')
install_data(sources : 'docs/example.Xresources', install_dir : 'share/spmenu')
install_data(sources : 'docs/spmenu.conf', install_dir : 'share/spmenu')
install_data(sources : 'scripts/spmenu_run', install_dir : 'bin')
install_data(sources : 'scripts/spmenu_test', install_dir : 'bin')
test('spmenu', project_target)