Make add_subdirectory way fancier

* Only add if it exists!
* Automatically pick arm64 or x86_64!
* Also add a minigbm config

Test: clion
Change-Id: If2b664f42c73f3e98d49df22ee9a6cb2d7064509
This commit is contained in:
John Reck
2022-11-29 15:12:21 -05:00
parent 1f605cffc9
commit 3c7dd4d8fd
4 changed files with 78 additions and 28 deletions

35
ide/clion/CMakeLists.txt Normal file
View File

@@ -0,0 +1,35 @@
# Will add_directory the given path only if the directory exists. If the directory doesn't exist,
# it will look for either arm64-android or x86_64-android variants of the path. If it finds either, or both,
# then it will add the newer of the two.
function(try_add_subdir path)
if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path}")
add_subdirectory(${path})
endif()
set(path_arm64 ${path}-arm64-android)
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path_arm64}")
set(has_arm64 TRUE)
else()
set(has_arm64 FALSE)
endif()
set(path_x64 ${path}-x86_64-android)
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path_x64}")
set(has_x64 TRUE)
else()
set(has_x64 FALSE)
endif()
if (${has_arm64} AND ${has_x64})
if ("${CMAKE_CURRENT_SOURCE_DIR}/${path_arm64}" IS_NEWER_THAN
"${CMAKE_CURRENT_SOURCE_DIR}/${path_x64}")
add_subdirectory(${path_arm64})
else()
add_subdirectory(${path_x64})
endif()
elseif(${has_arm64})
add_subdirectory(${path_arm64})
elseif(${has_x64})
add_subdirectory(${path_x64})
endif()
endfunction()

View File

@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.6)
project(external_minigbm)
add_subdirectory(cros_gralloc/aidl/android.hardware.graphics.allocator-service.minigbm-x86_64-android)
add_subdirectory(cros_gralloc/mapper_stablec/mapper.minigbm-x86_64-android)
add_subdirectory(cros_gralloc/gralloc4/libminigbm_gralloc4_utils-x86_64-android)
add_subdirectory(libminigbm_gralloc-x86_64-android)

View File

@@ -1,25 +1,28 @@
cmake_minimum_required(VERSION 3.6)
project(native)
add_subdirectory(libs/gui/libgui-arm64-android)
add_subdirectory(libs/gui/tests/libgui_test-arm64-android)
add_subdirectory(libs/ui/libui-arm64-android)
add_subdirectory(libs/renderengine/librenderengine-arm64-android)
add_subdirectory(services/surfaceflinger/surfaceflinger-arm64-android)
add_subdirectory(services/surfaceflinger/CompositionEngine/libcompositionengine_mocks-arm64-android)
add_subdirectory(services/surfaceflinger/CompositionEngine/libcompositionengine_test-arm64-android)
add_subdirectory(services/surfaceflinger/CompositionEngine/libcompositionengine-arm64-android)
add_subdirectory(services/surfaceflinger/FrameTimeline/libframetimeline-arm64-android)
add_subdirectory(services/surfaceflinger/TimeStats/timestatsproto/libtimestats_proto-arm64-android)
add_subdirectory(services/surfaceflinger/TimeStats/libtimestats-arm64-android)
add_subdirectory(services/surfaceflinger/layerproto/liblayers_proto-arm64-android)
add_subdirectory(services/surfaceflinger/tests/IPC_test-arm64-android)
add_subdirectory(services/surfaceflinger/tests/fakehwc/sffakehwc_test-arm64-android)
add_subdirectory(services/surfaceflinger/tests/SurfaceFlinger_test-arm64-android)
add_subdirectory(services/surfaceflinger/tests/vsync/test-vsync-events-arm64-android)
add_subdirectory(services/surfaceflinger/tests/waitforvsync/test-waitforvsync-arm64-android)
add_subdirectory(services/surfaceflinger/tests/unittests/libsurfaceflinger_unittest-arm64-android)
add_subdirectory(services/surfaceflinger/libSurfaceFlingerProp-arm64-android)
add_subdirectory(services/surfaceflinger/sysprop/libSurfaceFlingerProperties-arm64-android)
add_subdirectory(services/surfaceflinger/fuzzer/surfaceflinger_fuzzer-arm64-android)
add_subdirectory(services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer-arm64-android)
add_subdirectory(services/surfaceflinger/fuzzer/surfaceflinger_scheduler_fuzzer-arm64-android)
include("${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt")
try_add_subdir(libs/gui/libgui)
try_add_subdir(libs/gui/tests/libgui_test)
try_add_subdir(libs/ui/libui)
try_add_subdir(libs/renderengine/librenderengine)
try_add_subdir(services/surfaceflinger/surfaceflinger)
try_add_subdir(services/surfaceflinger/CompositionEngine/libcompositionengine_mocks)
try_add_subdir(services/surfaceflinger/CompositionEngine/libcompositionengine_test)
try_add_subdir(services/surfaceflinger/CompositionEngine/libcompositionengine)
try_add_subdir(services/surfaceflinger/FrameTimeline/libframetimeline)
try_add_subdir(services/surfaceflinger/TimeStats/timestatsproto/libtimestats_proto)
try_add_subdir(services/surfaceflinger/TimeStats/libtimestats)
try_add_subdir(services/surfaceflinger/layerproto/liblayers_proto)
try_add_subdir(services/surfaceflinger/tests/IPC_test)
try_add_subdir(services/surfaceflinger/tests/fakehwc/sffakehwc_test)
try_add_subdir(services/surfaceflinger/tests/SurfaceFlinger_test)
try_add_subdir(services/surfaceflinger/tests/vsync/test-vsync-events)
try_add_subdir(services/surfaceflinger/tests/waitforvsync/test-waitforvsync)
try_add_subdir(services/surfaceflinger/tests/unittests/libsurfaceflinger_unittest)
try_add_subdir(services/surfaceflinger/libSurfaceFlingerProp)
try_add_subdir(services/surfaceflinger/sysprop/libSurfaceFlingerProperties)
try_add_subdir(services/surfaceflinger/fuzzer/surfaceflinger_fuzzer)
try_add_subdir(services/surfaceflinger/fuzzer/surfaceflinger_displayhardware_fuzzer)
try_add_subdir(services/surfaceflinger/fuzzer/surfaceflinger_scheduler_fuzzer)

View File

@@ -1,7 +1,13 @@
cmake_minimum_required(VERSION 3.6)
project(hardware_graphics)
add_subdirectory(allocator/aidl/vts/VtsHalGraphicsAllocatorAidl_TargetTest-arm64-android)
add_subdirectory(allocator/aidl/android.hardware.graphics.allocator-V1-ndk-arm64-android)
add_subdirectory(composer/aidl/android.hardware.graphics.composer3-V1-ndk-arm64-android)
add_subdirectory(composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest-arm64-android)
add_subdirectory(common/aidl/android.hardware.graphics.common-V3-ndk-arm64-android)
include("${CMAKE_CURRENT_SOURCE_DIR}/../../../CMakeLists.txt")
try_add_subdir(allocator/aidl/vts/VtsHalGraphicsAllocatorAidl_TargetTest)
try_add_subdir(allocator/aidl/android.hardware.graphics.allocator-V2-ndk)
try_add_subdir(composer/aidl/android.hardware.graphics.composer3-V2-ndk)
try_add_subdir(composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest)
try_add_subdir(common/aidl/android.hardware.graphics.common-V4-ndk)
try_add_subdir(mapper/stable-c/libimapper_providerutils_tests)
try_add_subdir(mapper/stable-c/VtsHalGraphicsMapperStableC_TargetTest)
try_add_subdir(mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest)