xref: /aosp_15_r20/external/libkmsxx/kms++/meson.build (revision f0687c8a10b3e371dbe09214db6664e37c283cca)
1libkmsxx_sources = files([
2    'src/atomicreq.cpp',
3    'src/blob.cpp',
4    'src/card.cpp',
5    'src/connector.cpp',
6    'src/crtc.cpp',
7    'src/dmabufframebuffer.cpp',
8    'src/drmobject.cpp',
9    'src/drmpropobject.cpp',
10    'src/dumbframebuffer.cpp',
11    'src/encoder.cpp',
12    'src/extframebuffer.cpp',
13    'src/framebuffer.cpp',
14    'src/helpers.cpp',
15    'src/mode_cvt.cpp',
16    'src/modedb_cea.cpp',
17    'src/modedb.cpp',
18    'src/modedb_dmt.cpp',
19    'src/pixelformats.cpp',
20    'src/plane.cpp',
21    'src/property.cpp',
22    'src/videomode.cpp',
23])
24
25public_headers = [
26    'inc/kms++/dmabufframebuffer.h',
27    'inc/kms++/atomicreq.h',
28    'inc/kms++/property.h',
29    'inc/kms++/plane.h',
30    'inc/kms++/kms++.h',
31    'inc/kms++/connector.h',
32    'inc/kms++/card.h',
33    'inc/kms++/modedb.h',
34    'inc/kms++/pagefliphandler.h',
35    'inc/kms++/encoder.h',
36    'inc/kms++/decls.h',
37    'inc/kms++/videomode.h',
38    'inc/kms++/drmobject.h',
39    'inc/kms++/pixelformats.h',
40    'inc/kms++/crtc.h',
41    'inc/kms++/framebuffer.h',
42    'inc/kms++/extframebuffer.h',
43    'inc/kms++/pipeline.h',
44    'inc/kms++/drmpropobject.h',
45    'inc/kms++/mode_cvt.h',
46    'inc/kms++/blob.h',
47    'inc/kms++/dumbframebuffer.h',
48]
49
50public_headers_omap = [
51    'inc/kms++/omap/omapframebuffer.h',
52    'inc/kms++/omap/omapkms++.h',
53    'inc/kms++/omap/omapcard.h',
54]
55
56private_includes = include_directories('src', 'inc')
57public_includes = include_directories('inc')
58
59libdrm_dep = dependency('libdrm')
60
61if libdrmomap_dep.found()
62    libkmsxx_sources += files([
63        'src/omap/omapcard.cpp',
64        'src/omap/omapframebuffer.cpp',
65    ])
66endif
67
68libkmsxx_deps = [ libdrm_dep, libfmt_dep, libdrmomap_dep ]
69
70libkmsxx = library('kms++',
71                   libkmsxx_sources,
72                   install : true,
73                   include_directories : private_includes,
74                   dependencies : libkmsxx_deps)
75
76
77libkmsxx_dep = declare_dependency(include_directories : public_includes,
78                                  link_with : libkmsxx)
79
80install_headers(public_headers, subdir : 'kms++')
81
82if libdrmomap_dep.found()
83    install_headers(public_headers_omap, subdir : 'kms++/omap')
84endif
85
86pkg = import('pkgconfig')
87pkg.generate(libkmsxx)
88