#查找LHHttpAPI库
message(STATUS "===== FindLHHTTPAPI.cmake =====")


#查找头文件
unset(INCLUDE_DIR CACHE)
find_path(INCLUDE_DIR 
    NAMES lhhttpapi.h
    PATHS ${CMAKE_CURRENT_LIST_DIR}/src
    NO_DEFAULT_PATH
)

list(APPEND LHHTTPAPI_INCLUDE_DIRS ${INCLUDE_DIR})

#查找源文件
unset(SOURCE_DIR CACHE)
find_path(SOURCE_DIR 
    NAMES lhhttpapi.cpp
    PATHS ${CMAKE_CURRENT_LIST_DIR}/src
    NO_DEFAULT_PATH
)

list(APPEND LHHTTPAPI_SOURCE_DIRS ${SOURCE_DIR})

# 查找库文件,在这里区分平台,Debug和Release,32位和64位
# 这里没有使用这个文件夹内的curl库,而是使用了外部的curl库
unset(LHHTTPAPI_LIBRARY CACHE)

if(CMAKE_SYSTEM_NAME MATCHES "Windows")
    #64位
    if(CMAKE_SIZEOF_VOID_P MATCHES 8)
        if(CMAKE_BUILD_TYPE MATCHES "Debug")
            list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterfaced.dll)
            # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
        else()
            list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterface.dll)
            # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
        endif()
    #32位
    elseif(CMAKE_SIZEOF_VOID_P MATCHES 4)
        if(CMAKE_BUILD_TYPE MATCHES "Debug")
            list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterfaced.dll)
            # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
        else()
            list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterface.dll)
            # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
        endif()
    endif()

#添加Linux版本
elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
    if(CMAKE_BUILD_TYPE MATCHES "Debug")
        list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/debug/libLHSqlWebInterface.so)
    else()
        list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/uos_x64/release/libLHSqlWebInterface.so)
    endif()

endif()


#定义变量
if(LHHTTPAPI_INCLUDE_DIRS AND LHHTTPAPI_SOURCE_DIRS AND LHHTTPAPI_LIBRARY)
    set(LHHTTPAPI_FOUND TRUE)
    set(LHHTTPAPI_VERSION 1.0.9)

    # message(STATUS "LHHTTPAPI found: LHHTTPAPI")
    message(STATUS "LHHTTPAPI include: LHHTTPAPI_INCLUDE_DIRS")
    message(STATUS "LHHTTPAPI source: LHHTTPAPI_SOURCE_DIRS")
    # message(STATUS "LHHTTPAPI library: LHHTTPAPI_LIBRARY")
else()
    set(LHHTTPAPI_FOUND FALSE)
endif()



message(STATUS "--------------------------------------------------")