xref: /OK3568_Linux_fs/external/linux-rga/meson.build (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1project(
2    'librga',
3    'cpp',
4    version : '2.1.0',
5    meson_version : '>=0.47.0',
6    default_options : ['warning_level=3', 'cpp_std=c++14']
7)
8
9pkgconfig = import('pkgconfig')
10
11libthreads_dep = dependency('threads')
12
13add_project_arguments('-DLINUX=1', language : 'cpp')
14
15librga_srcs = [
16    'core/utils/android_utils/src/android_utils.cpp',
17    'core/utils/drm_utils/src/drm_utils.cpp',
18    'core/utils/utils.cpp',
19    'core/GrallocOps.cpp',
20    'core/NormalRgaApi.cpp',
21	'core/NormalRga.cpp',
22	'core/RgaUtils.cpp',
23	'core/RockchipRga.cpp',
24	'core/RgaApi.cpp',
25	'core/rga_sync.cpp',
26    'im2d_api/src/im2d_log.cpp',
27    'im2d_api/src/im2d_impl.cpp',
28	'im2d_api/src/im2d.cpp',
29]
30
31incdir = include_directories('include', 'im2d_api', 'core/hardware', 'core/utils', 'core/3rdparty/libdrm/include/drm')
32
33librga = shared_library(
34    'rga',
35    librga_srcs,
36    dependencies : [libthreads_dep],
37	include_directories : incdir,
38    version : meson.project_version(),
39    cpp_args : ['-w'],
40    install : true,
41)
42
43install_headers(
44    'include/rga.h',
45    'include/drmrga.h',
46    'include/GrallocOps.h',
47    'include/RockchipRga.h',
48    'include/RgaMutex.h',
49	'include/RgaSingleton.h',
50	'include/RgaUtils.h',
51	'include/RgaApi.h',
52	'im2d_api/im2d.h',
53	'im2d_api/im2d.hpp',
54    'im2d_api/im2d_type.h',
55    'im2d_api/im2d_version.h',
56    'im2d_api/im2d_buffer.h',
57    'im2d_api/im2d_common.h',
58    'im2d_api/im2d_single.h',
59    'im2d_api/im2d_task.h',
60    'im2d_api/im2d_mpi.h',
61    'im2d_api/im2d_expand.h',
62    subdir : 'rga',
63)
64
65pkgconfig.generate(
66    libraries : librga,
67    filebase : 'librga',
68    name : 'librga',
69    version : meson.project_version(),
70    description : 'Userspace interface to Rockchip RGA 2D accelerator',
71)
72
73librga_demo_option = get_option('librga_demo')
74if librga_demo_option != 'false'
75    demo_src = [
76		'samples/im2d_api_demo/rgaImDemo.cpp',
77		'samples/im2d_api_demo/args.cpp'
78	]
79    demo_incdir = include_directories('include', 'im2d_api')
80    librga_dep = dependency('librga')
81    executable(
82            'rgaImDemo',
83            demo_src,
84            include_directories : demo_incdir,
85            dependencies : librga_dep,
86            cpp_args : ['-Wno-pedantic'],
87            install : true,
88    )
89endif
90