summaryrefslogtreecommitdiff
path: root/kms++/meson.build
blob: ab11d638c1158b63e18a229ef5159a0f3f4600a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
libkmsxx_sources = files([
    'src/atomicreq.cpp',
    'src/blob.cpp',
    'src/card.cpp',
    'src/connector.cpp',
    'src/crtc.cpp',
    'src/dmabufframebuffer.cpp',
    'src/drmobject.cpp',
    'src/drmpropobject.cpp',
    'src/dumbframebuffer.cpp',
    'src/encoder.cpp',
    'src/extframebuffer.cpp',
    'src/framebuffer.cpp',
    'src/helpers.cpp',
    'src/mode_cvt.cpp',
    'src/modedb_cea.cpp',
    'src/modedb.cpp',
    'src/modedb_dmt.cpp',
    'src/pixelformats.cpp',
    'src/plane.cpp',
    'src/property.cpp',
    'src/videomode.cpp',
])

public_headers = [
    'inc/kms++/dmabufframebuffer.h',
    'inc/kms++/atomicreq.h',
    'inc/kms++/property.h',
    'inc/kms++/plane.h',
    'inc/kms++/kms++.h',
    'inc/kms++/connector.h',
    'inc/kms++/card.h',
    'inc/kms++/modedb.h',
    'inc/kms++/pagefliphandler.h',
    'inc/kms++/encoder.h',
    'inc/kms++/decls.h',
    'inc/kms++/videomode.h',
    'inc/kms++/drmobject.h',
    'inc/kms++/pixelformats.h',
    'inc/kms++/crtc.h',
    'inc/kms++/framebuffer.h',
    'inc/kms++/extframebuffer.h',
    'inc/kms++/pipeline.h',
    'inc/kms++/drmpropobject.h',
    'inc/kms++/mode_cvt.h',
    'inc/kms++/blob.h',
    'inc/kms++/dumbframebuffer.h',
]

public_headers_omap = [
    'inc/kms++/omap/omapframebuffer.h',
    'inc/kms++/omap/omapkms++.h',
    'inc/kms++/omap/omapcard.h',
]

private_includes = include_directories('src', 'inc')
public_includes = include_directories('inc')

libdrm_dep = dependency('libdrm')

if libdrmomap_dep.found()
    libkmsxx_sources += files([
        'src/omap/omapcard.cpp',
        'src/omap/omapframebuffer.cpp',
    ])
endif

libkmsxx_deps = [ libdrm_dep, libfmt_dep, libdrmomap_dep ]

libkmsxx = library('kms++',
                   libkmsxx_sources,
                   install : true,
                   include_directories : private_includes,
                   dependencies : libkmsxx_deps,
                   version : meson.project_version())


libkmsxx_dep = declare_dependency(include_directories : public_includes,
                                  link_with : libkmsxx)

install_headers(public_headers, subdir : 'kms++')

if libdrmomap_dep.found()
    install_headers(public_headers_omap, subdir : 'kms++/omap')
endif

pkg = import('pkgconfig')
pkg.generate(libkmsxx)