xref: /aosp_15_r20/development/ide/clion/CMakeLists.txt (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker# Will add_directory the given path only if the directory exists. If the directory doesn't exist,
2*90c8c64dSAndroid Build Coastguard Worker# it will look for either arm64-android or x86_64-android variants of the path. If it finds either, or both,
3*90c8c64dSAndroid Build Coastguard Worker# then it will add the newer of the two.
4*90c8c64dSAndroid Build Coastguard Workerfunction(try_add_subdir path)
5*90c8c64dSAndroid Build Coastguard Worker    if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path}")
6*90c8c64dSAndroid Build Coastguard Worker      add_subdirectory(${path})
7*90c8c64dSAndroid Build Coastguard Worker    endif()
8*90c8c64dSAndroid Build Coastguard Worker
9*90c8c64dSAndroid Build Coastguard Worker    set(path_arm64 ${path}-arm64-android)
10*90c8c64dSAndroid Build Coastguard Worker    if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path_arm64}")
11*90c8c64dSAndroid Build Coastguard Worker        set(has_arm64 TRUE)
12*90c8c64dSAndroid Build Coastguard Worker    else()
13*90c8c64dSAndroid Build Coastguard Worker        set(has_arm64 FALSE)
14*90c8c64dSAndroid Build Coastguard Worker    endif()
15*90c8c64dSAndroid Build Coastguard Worker
16*90c8c64dSAndroid Build Coastguard Worker    set(path_x64 ${path}-x86_64-android)
17*90c8c64dSAndroid Build Coastguard Worker    if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${path_x64}")
18*90c8c64dSAndroid Build Coastguard Worker        set(has_x64 TRUE)
19*90c8c64dSAndroid Build Coastguard Worker    else()
20*90c8c64dSAndroid Build Coastguard Worker        set(has_x64 FALSE)
21*90c8c64dSAndroid Build Coastguard Worker    endif()
22*90c8c64dSAndroid Build Coastguard Worker
23*90c8c64dSAndroid Build Coastguard Worker    if (${has_arm64} AND ${has_x64})
24*90c8c64dSAndroid Build Coastguard Worker        if ("${CMAKE_CURRENT_SOURCE_DIR}/${path_arm64}/CMakeLists.txt" IS_NEWER_THAN
25*90c8c64dSAndroid Build Coastguard Worker                "${CMAKE_CURRENT_SOURCE_DIR}/${path_x64}/CMakeLists.txt")
26*90c8c64dSAndroid Build Coastguard Worker            add_subdirectory(${path_arm64})
27*90c8c64dSAndroid Build Coastguard Worker        else()
28*90c8c64dSAndroid Build Coastguard Worker            add_subdirectory(${path_x64})
29*90c8c64dSAndroid Build Coastguard Worker        endif()
30*90c8c64dSAndroid Build Coastguard Worker    elseif(${has_arm64})
31*90c8c64dSAndroid Build Coastguard Worker        add_subdirectory(${path_arm64})
32*90c8c64dSAndroid Build Coastguard Worker    elseif(${has_x64})
33*90c8c64dSAndroid Build Coastguard Worker        add_subdirectory(${path_x64})
34*90c8c64dSAndroid Build Coastguard Worker    endif()
35*90c8c64dSAndroid Build Coastguard Workerendfunction()