
cmake_minimum_required(VERSION 3.22.1)

project("dplus_demo")


# 设置 C++ 标准（推荐）
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 包含头文件路径
include_directories(${CMAKE_SOURCE_DIR}/dobby.include)

# 声明 Dobby 静态库 - 根据不同架构选择对应的库
add_library(dobby STATIC IMPORTED)

# 根据 ABI 设置对应的库路径
if(${ANDROID_ABI} STREQUAL "arm64-v8a")
    set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
            ${CMAKE_SOURCE_DIR}/../jniLibs/arm64-v8a/libdobby.a)
elseif(${ANDROID_ABI} STREQUAL "armeabi-v7a")
    set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
            ${CMAKE_SOURCE_DIR}/../jniLibs/armeabi-v7a/libdobby.a)
    #elseif(${ANDROID_ABI} STREQUAL "x86")
    #    set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
    #            ${CMAKE_SOURCE_DIR}/../jniLibs/x86/libdobby.a)
    #elseif(${ANDROID_ABI} STREQUAL "x86_64")
    #    set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
    #            ${CMAKE_SOURCE_DIR}/../jniLibs/x86_64/libdobby.a)
else()
    message(FATAL_ERROR "Unsupported ABI: ${ANDROID_ABI}")
endif()

add_library(${CMAKE_PROJECT_NAME} SHARED
        # List C/C++ source files with relative paths to this CMakeLists.txt.
        native-lib.cpp)


include(FetchContent)

target_link_libraries(${CMAKE_PROJECT_NAME}
        # List libraries link to the target library
        android
        log dobby)