| # 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}/CMakeLists.txt" IS_NEWER_THAN |
| "${CMAKE_CURRENT_SOURCE_DIR}/${path_x64}/CMakeLists.txt") |
| 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() |