1project( 2 'drm_hwcomposer', 3 ['c', 'cpp'], 4 version : '3', 5 license : 'APACHE-2.0', 6 meson_version : '>= 0.56', 7 default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c11', 'cpp_std=c++17', 'cpp_rtti=false'] 8) 9 10inc_include = [include_directories('.')] 11 12src_common = files( 13 'compositor/DrmKmsPlan.cpp', 14 'compositor/FlatteningController.cpp', 15 'backend/BackendManager.cpp', 16 'backend/Backend.cpp', 17 'backend/BackendClient.cpp', 18 'utils/fd.cpp', 19 'utils/properties.cpp', 20) 21 22srcs_hwc2_device = [ 23 'hwc2_device/hwc2_device.cpp', 24 'hwc2_device/DrmHwcTwo.cpp', 25 'hwc2_device/HwcDisplayConfigs.cpp', 26 'hwc2_device/HwcDisplay.cpp', 27 'hwc2_device/HwcLayer.cpp', 28] 29 30deps = [ 31 dependency('cutils'), 32 dependency('drm'), 33 dependency('hardware'), 34 dependency('hidlbase'), 35 dependency('log'), 36 dependency('sync'), 37 dependency('ui'), 38 dependency('utils'), 39 dependency('aidlcommonsupport'), 40 dependency('[email protected]'), 41 dependency('[email protected]'), 42] 43 44common_cpp_flags = [ 45 '-DUSE_IMAPPER4_METADATA_API', 46] 47 48hwc2_cpp_flags = [ 49 '-DHWC2_INCLUDE_STRINGIFICATION', 50 '-DHWC2_USE_CPP11', 51] 52 53subdir('drm') 54subdir('bufferinfo') 55 56drmhwc_common = static_library( 57 'drm_hwcomposer_common', 58 src_common, 59# TODO remove hwc2 flags from common code (backends needs rework) 60 cpp_args : common_cpp_flags + hwc2_cpp_flags, 61 dependencies : deps, 62) 63 64subdir('hwc2_device') 65subdir('hwc3') 66