project( 'drm_hwcomposer', ['c', 'cpp'], version : '3', license : 'APACHE-2.0', meson_version : '>= 0.56', default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c11', 'cpp_std=c++17', 'cpp_rtti=false'] ) inc_include = [include_directories('.')] src_common = files( 'compositor/DrmKmsPlan.cpp', 'compositor/FlatteningController.cpp', 'backend/BackendManager.cpp', 'backend/Backend.cpp', 'backend/BackendClient.cpp', 'utils/fd.cpp', 'utils/properties.cpp', ) srcs_hwc2_device = [ 'hwc2_device/hwc2_device.cpp', 'hwc2_device/DrmHwcTwo.cpp', 'hwc2_device/HwcDisplayConfigs.cpp', 'hwc2_device/HwcDisplay.cpp', 'hwc2_device/HwcLayer.cpp', ] deps = [ dependency('cutils'), dependency('drm'), dependency('hardware'), dependency('hidlbase'), dependency('log'), dependency('sync'), dependency('ui'), dependency('utils'), dependency('aidlcommonsupport'), dependency('android.hardware.graphics.composer@2.1-resources'), dependency('android.hardware.graphics.composer@2.2-resources'), ] common_cpp_flags = [ '-DUSE_IMAPPER4_METADATA_API', ] hwc2_cpp_flags = [ '-DHWC2_INCLUDE_STRINGIFICATION', '-DHWC2_USE_CPP11', ] subdir('drm') subdir('bufferinfo') drmhwc_common = static_library( 'drm_hwcomposer_common', src_common, # TODO remove hwc2 flags from common code (backends needs rework) cpp_args : common_cpp_flags + hwc2_cpp_flags, dependencies : deps, ) subdir('hwc2_device') subdir('hwc3')