cmake_minimum_required(VERSION 3.10.2)

project(Wandun)

include_directories(${CMAKE_SOURCE_DIR}/include)

if(${CMAKE_ANDROID_ARCH_ABI} STREQUAL "arm64-v8a")
    set(ARCH_DEPENDED_SRC
            wd_syscall_aarch64.s)

elseif (${CMAKE_ANDROID_ARCH_ABI} STREQUAL "armeabi-v7a")
    set(ARCH_DEPENDED_SRC
            wd_syscall_arm.s)

elseif (${CMAKE_ANDROID_ARCH_ABI} STREQUAL "x86")
    set(ARCH_DEPENDED_SRC
            wd_syscall_x86.s)
endif()

add_library(
        wdun
        SHARED
        core.c
        collect.c
        utils.c
        wd_syscall.c
        wd_jni.c
        https.c
        aesencode.c
        rsaencode.c
        mybase64.c
        fake_dlfcn.c
        ${ARCH_DEPENDED_SRC}
)

set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}  \
            -fvisibility=hidden \
            -fno-unwind-tables  \
            -Wl,--exclude-libs,ALL  \
            -Wl,--gc-sections")

add_library(cJson SHARED IMPORTED)
set_target_properties(
        cJson
        PROPERTIES IMPORTED_LOCATION
        ${CMAKE_SOURCE_DIR}/../nativeLibs/${CMAKE_ANDROID_ARCH_ABI}/libcJson.a
)

add_library(crypto SHARED IMPORTED)
set_target_properties(
        crypto
        PROPERTIES IMPORTED_LOCATION
        ${CMAKE_SOURCE_DIR}/../nativeLibs/${CMAKE_ANDROID_ARCH_ABI}/libcrypto.a
)

target_link_libraries(wdun cJson crypto log)
enable_language(ASM)