libdisplay-info/meson.build

76 lines
1.4 KiB
Meson
Raw Normal View History

project(
'libdisplay-info',
'c',
version: '0.0.0',
license: 'MIT',
meson_version: '>= 0.55.0',
default_options: [
'c_std=c11',
'warning_level=3',
],
)
cc = meson.get_compiler('c')
math = cc.find_library('m', required: false)
add_project_arguments(['-D_POSIX_C_SOURCE=200809L'], language: 'c')
add_project_arguments(cc.get_supported_arguments([
'-Wundef',
'-Wmissing-prototypes',
'-Walloca',
'-Wdeclaration-after-statement',
'-Wconversion',
'-Wno-unused-parameter',
'-Wno-missing-field-initializers',
'-Werror=implicit',
]), language: 'c')
symbols_file = 'libdisplay-info.map'
symbols_flag = '-Wl,--version-script,@0@'.format(meson.current_source_dir() / symbols_file)
di_lib = library(
'display-info',
[
'cta.c',
'displayid.c',
'dmt-table.c',
'edid.c',
'info.c',
'log.c',
],
include_directories: include_directories('include'),
dependencies: [math],
link_args: symbols_flag,
link_depends: symbols_file,
install: true,
)
install_subdir(
'include/libdisplay-info',
install_dir: get_option('includedir'),
)
pkgconfig = import('pkgconfig')
pkgconfig.generate(
di_lib,
description: 'EDID and DisplayID library',
)
di_dep = declare_dependency(
link_with: di_lib,
include_directories: include_directories('include'),
)
di_edid_decode = executable(
'di-edid-decode',
'di-edid-decode.c',
dependencies: [di_dep, math],
install: true,
)
subdir('test')