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