mirror of
https://gitlab.freedesktop.org/emersion/libdisplay-info.git
synced 2024-11-16 19:48:30 +01:00
a4d2bbf95f
A simple version script is used because it allows us to consistently expose all symbols starting with "di_", removing the risk to forget to mark a symbol as public. Signed-off-by: Simon Ser <contact@emersion.fr>
68 lines
1.2 KiB
Meson
68 lines
1.2 KiB
Meson
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')
|
|
|
|
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',
|
|
[
|
|
'edid.c',
|
|
'info.c',
|
|
],
|
|
include_directories: include_directories('include'),
|
|
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,
|
|
install: true,
|
|
)
|
|
|
|
subdir('test')
|