1add_library(utils SHARED androidImpl/libutils_placeholder.cpp) 2add_library(log SHARED androidImpl/Log.cpp) 3 4target_include_directories(log PRIVATE android/android-emugl/guest 5 android/android-emu) 6 7# The cutils library. 8add_library( 9 cutils 10 SHARED 11 androidImpl/AndroidVulkanDispatch.cpp 12 androidImpl/Ashmem.cpp 13 androidImpl/GrallocDispatch.cpp 14 androidImpl/native_handle.cpp 15 androidImpl/Properties.cpp 16 androidImpl/RefBase.cpp 17 androidImpl/SharedBuffer.cpp 18 androidImpl/String16.cpp 19 androidImpl/String8.cpp 20 androidImpl/trace-host.cpp 21 androidImpl/Unicode.cpp) 22target_include_directories(cutils PRIVATE ${GFXSTREAM_REPO_ROOT} ${GFXSTREAM_REPO_ROOT}/include .) 23target_include_directories(cutils PUBLIC .) 24target_link_libraries(cutils PUBLIC aemu-base.headers) 25target_link_libraries(cutils PRIVATE log gfxstream_vulkan_headers) 26target_compile_options(cutils PRIVATE -fvisibility=default -Wno-invalid-constexpr -Wno-macro-redefined) 27target_compile_definitions(cutils PRIVATE -D__ANDROID_API__=28) 28 29add_library(grallocusage SHARED libgrallocusage/GrallocUsageConversion.cpp) 30target_include_directories(grallocusage PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) 31target_link_libraries(grallocusage PUBLIC aemu-base.headers) 32target_compile_definitions(grallocusage PRIVATE -D__ANDROID_API__=28) 33 34# The gui library 35add_library(gui 36 SHARED 37 androidImpl/AHardwareBuffer.cpp 38 androidImpl/ANativeWindow.cpp 39 androidImpl/AndroidBufferQueue.cpp 40 androidImpl/AndroidWindow.cpp 41 androidImpl/AndroidWindowBuffer.cpp 42 androidImpl/Gralloc2.cpp 43 androidImpl/GraphicBuffer.cpp 44 androidImpl/GraphicBufferAllocator.cpp 45 androidImpl/GraphicBufferMapper.cpp 46 androidImpl/PixelFormat.cpp 47 androidImpl/SurfaceFlinger.cpp 48 androidImpl/Vsync.cpp 49 sync/sync.cpp) 50target_link_libraries(gui PUBLIC aemu-base.headers) 51target_include_directories(gui PUBLIC ${GFXSTREAM_REPO_ROOT}/fake-android-guest) 52target_compile_options(gui PRIVATE -fvisibility=default) 53target_compile_definitions(gui PRIVATE -D__ANDROID_API__=28) 54target_link_libraries(gui PRIVATE cutils log grallocusage) 55 56# The unit tests 57# android_add_test(TARGET gui_unittests SRC # cmake-format: sortable 58# androidImpl/libgui_unittest.cpp) 59# target_link_libraries(gui_unittests PUBLIC gui emugl_base gtest gtest_main) 60 61add_library( 62 vulkan_android 63 SHARED 64 libvulkan/api.cpp 65 libvulkan/api_gen.cpp 66 libvulkan/debug_report.cpp 67 libvulkan/driver.cpp 68 libvulkan/driver_gen.cpp 69 libvulkan/layers_extensions.cpp 70 libvulkan/stubhal.cpp 71 libvulkan/swapchain.cpp) 72target_compile_definitions( 73 vulkan_android PRIVATE -DLOG_TAG=\"vulkan\" -DVK_USE_PLATFORM_ANDROID_KHR 74 -DVK_NO_PROTOTYPES -D__ANDROID_API__=28) 75target_include_directories(vulkan_android 76 PRIVATE ${GFXSTREAM_REPO_ROOT}/include ${GFXSTREAM_REPO_ROOT}) 77target_compile_options(vulkan_android PRIVATE -fvisibility=hidden 78 -fstrict-aliasing) 79target_link_libraries(vulkan_android PRIVATE grallocusage) 80target_link_libraries(vulkan_android 81 PUBLIC aemu-base.headers log gui cutils utils gfxstream_vulkan_headers) 82 83# android_add_test( 84# TARGET vulkanhal_unittests SRC # cmake-format: sortable 85# androidImpl/vulkanhal_unittest.cpp) 86# target_include_directories( 87# vulkanhal_unittests 88# PRIVATE ${ANDROID_EMUGL_DIR}/host/include ${ANDROID_EMUGL_DIR}/combined 89# ${ANDROID_EMUGL_DIR}/guest/grallocusage 90# ${GOLDFISH_EMUGL_DIR}/shared/OpenglCodecCommon 91# ${GOLDFISH_EMUGL_DIR}/system 92# ${GOLDFISH_EMUGL_DIR}/system/renderControl_enc) 93# target_link_libraries(vulkanhal_unittests PRIVATE grallocusage aemugraphics 94# PRIVATE android-emu-test-launcher) 95# target_compile_definitions(vulkanhal_unittests PRIVATE -D__ANDROID_API__=28) 96# android_target_dependency(vulkanhal_unittests all 97# EMULATOR_FEATURE_DEPENDENCIES) 98# android_target_dependency(vulkanhal_unittests all SWIFTSHADER_DEPENDENCIES) 99# android_target_properties( 100# vulkanhal_unittests darwin-x86_64 101# "INSTALL_RPATH>=@loader_path/lib64/gles_swiftshader") 102# android_target_properties( 103# vulkanhal_unittests linux-x86_64 104# "LINK_FLAGS>=-Wl,-rpath,'$ORIGIN/lib64/gles_swiftshader'") 105# 106