add_library(utils SHARED androidImpl/libutils_placeholder.cpp) add_library(log SHARED androidImpl/Log.cpp) target_include_directories(log PRIVATE android/android-emugl/guest android/android-emu) # The cutils library. add_library( cutils SHARED androidImpl/AndroidVulkanDispatch.cpp androidImpl/Ashmem.cpp androidImpl/GrallocDispatch.cpp androidImpl/native_handle.cpp androidImpl/Properties.cpp androidImpl/RefBase.cpp androidImpl/SharedBuffer.cpp androidImpl/String16.cpp androidImpl/String8.cpp androidImpl/trace-host.cpp androidImpl/Unicode.cpp) target_include_directories(cutils PRIVATE ${GFXSTREAM_REPO_ROOT} ${GFXSTREAM_REPO_ROOT}/include .) target_include_directories(cutils PUBLIC .) target_link_libraries(cutils PUBLIC gfxstream-base) target_link_libraries(cutils PRIVATE log) target_compile_options(cutils PRIVATE -fvisibility=default -Wno-invalid-constexpr -Wno-macro-redefined) target_compile_definitions(cutils PRIVATE -D__ANDROID_API__=28) add_library(grallocusage SHARED libgrallocusage/GrallocUsageConversion.cpp) target_include_directories(grallocusage PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(grallocusage PUBLIC gfxstream-base) target_compile_definitions(grallocusage PRIVATE -D__ANDROID_API__=28) # The gui library add_library(gui SHARED androidImpl/AHardwareBuffer.cpp androidImpl/ANativeWindow.cpp androidImpl/AndroidBufferQueue.cpp androidImpl/AndroidWindow.cpp androidImpl/AndroidWindowBuffer.cpp androidImpl/Gralloc2.cpp androidImpl/GraphicBuffer.cpp androidImpl/GraphicBufferAllocator.cpp androidImpl/GraphicBufferMapper.cpp androidImpl/PixelFormat.cpp androidImpl/SurfaceFlinger.cpp androidImpl/Vsync.cpp sync/sync.cpp) target_link_libraries(gui PUBLIC gfxstream-base) target_include_directories(gui PUBLIC ${GFXSTREAM_REPO_ROOT}/fake-android-guest) target_compile_options(gui PRIVATE -fvisibility=default) target_compile_definitions(gui PRIVATE -D__ANDROID_API__=28) target_link_libraries(gui PRIVATE cutils log grallocusage) # The unit tests # android_add_test(TARGET gui_unittests SRC # cmake-format: sortable # androidImpl/libgui_unittest.cpp) # target_link_libraries(gui_unittests PUBLIC gui emugl_base gtest gtest_main) add_library( vulkan_android SHARED libvulkan/api.cpp libvulkan/api_gen.cpp libvulkan/debug_report.cpp libvulkan/driver.cpp libvulkan/driver_gen.cpp libvulkan/layers_extensions.cpp libvulkan/stubhal.cpp libvulkan/swapchain.cpp) target_compile_definitions( vulkan_android PRIVATE -DLOG_TAG=\"vulkan\" -DVK_USE_PLATFORM_ANDROID_KHR -DVK_NO_PROTOTYPES -D__ANDROID_API__=28) target_include_directories(vulkan_android PRIVATE ${GFXSTREAM_REPO_ROOT}/include) target_compile_options(vulkan_android PRIVATE -fvisibility=hidden -fstrict-aliasing) target_link_libraries(vulkan_android PRIVATE grallocusage) target_link_libraries(vulkan_android PUBLIC gfxstream-base log gui cutils utils) # android_add_test( # TARGET vulkanhal_unittests SRC # cmake-format: sortable # androidImpl/vulkanhal_unittest.cpp) # target_include_directories( # vulkanhal_unittests # PRIVATE ${ANDROID_EMUGL_DIR}/host/include ${ANDROID_EMUGL_DIR}/combined # ${ANDROID_EMUGL_DIR}/guest/grallocusage # ${GOLDFISH_EMUGL_DIR}/shared/OpenglCodecCommon # ${GOLDFISH_EMUGL_DIR}/system # ${GOLDFISH_EMUGL_DIR}/system/renderControl_enc) # target_link_libraries(vulkanhal_unittests PRIVATE grallocusage aemugraphics # PRIVATE android-emu-test-launcher) # target_compile_definitions(vulkanhal_unittests PRIVATE -D__ANDROID_API__=28) # android_target_dependency(vulkanhal_unittests all # EMULATOR_FEATURE_DEPENDENCIES) # android_target_dependency(vulkanhal_unittests all SWIFTSHADER_DEPENDENCIES) # android_target_properties( # vulkanhal_unittests darwin-x86_64 # "INSTALL_RPATH>=@loader_path/lib64/gles_swiftshader") # android_target_properties( # vulkanhal_unittests linux-x86_64 # "LINK_FLAGS>=-Wl,-rpath,'$ORIGIN/lib64/gles_swiftshader'") #