• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 gfxstream-base)
25target_link_libraries(cutils PRIVATE log)
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 gfxstream-base)
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 gfxstream-base)
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)
77target_compile_options(vulkan_android PRIVATE -fvisibility=hidden
78                                              -fstrict-aliasing)
79target_link_libraries(vulkan_android PRIVATE grallocusage)
80target_link_libraries(vulkan_android PUBLIC gfxstream-base log gui cutils utils)
81
82# android_add_test(
83#   TARGET vulkanhal_unittests SRC # cmake-format: sortable
84#                                  androidImpl/vulkanhal_unittest.cpp)
85# target_include_directories(
86#   vulkanhal_unittests
87#   PRIVATE ${ANDROID_EMUGL_DIR}/host/include ${ANDROID_EMUGL_DIR}/combined
88#           ${ANDROID_EMUGL_DIR}/guest/grallocusage
89#           ${GOLDFISH_EMUGL_DIR}/shared/OpenglCodecCommon
90#           ${GOLDFISH_EMUGL_DIR}/system
91#           ${GOLDFISH_EMUGL_DIR}/system/renderControl_enc)
92# target_link_libraries(vulkanhal_unittests PRIVATE grallocusage aemugraphics
93#                       PRIVATE android-emu-test-launcher)
94# target_compile_definitions(vulkanhal_unittests PRIVATE -D__ANDROID_API__=28)
95# android_target_dependency(vulkanhal_unittests all
96#                           EMULATOR_FEATURE_DEPENDENCIES)
97# android_target_dependency(vulkanhal_unittests all SWIFTSHADER_DEPENDENCIES)
98# android_target_properties(
99#   vulkanhal_unittests darwin-x86_64
100#   "INSTALL_RPATH>=@loader_path/lib64/gles_swiftshader")
101# android_target_properties(
102#   vulkanhal_unittests linux-x86_64
103#   "LINK_FLAGS>=-Wl,-rpath,'$ORIGIN/lib64/gles_swiftshader'")
104#
105