• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    ])
66    omapdrm_enabled = true
67else
68    omapdrm_enabled = false
69endif
70
71libkmsxx_deps = [ libdrm_dep, libfmt_dep, libdrmomap_dep ]
72
73libkmsxx = library('kms++',
74                   libkmsxx_sources,
75                   install : true,
76                   include_directories : private_includes,
77                   dependencies : libkmsxx_deps,
78                   version : meson.project_version())
79
80
81libkmsxx_dep = declare_dependency(include_directories : public_includes,
82                                  link_with : libkmsxx)
83
84install_headers(public_headers, subdir : 'kms++')
85
86if libdrmomap_dep.found()
87    install_headers(public_headers_omap, subdir : 'kms++/omap')
88endif
89
90pkg = import('pkgconfig')
91pkg.generate(libkmsxx)
92