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