blob: f570065f48ae80e72a1d13989b29a57af9db90be [file] [log] [blame]
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 aemu-base.headers)
target_link_libraries(cutils PRIVATE log gfxstream_vulkan_headers)
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 aemu-base.headers)
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 aemu-base.headers)
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 ${GFXSTREAM_REPO_ROOT})
target_compile_options(vulkan_android PRIVATE -fvisibility=hidden
-fstrict-aliasing)
target_link_libraries(vulkan_android PRIVATE grallocusage)
target_link_libraries(vulkan_android
PUBLIC aemu-base.headers log gui cutils utils gfxstream_vulkan_headers)
# 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'")
#