123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #查找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
- )
- unset(LHHTTPAPI_INCLUDE_DIRS CACHE)
- list(APPEND LHHTTPAPI_INCLUDE_DIRS ${INCLUDE_DIR})
- #添加源文件
- unset(LHHTTPAPI_SOURCE_DIRS CACHE)
- list(APPEND LHHTTPAPI_SOURCE_DIRS
- ${INCLUDE_DIR}/lhhttpapi.cpp
- ${INCLUDE_DIR}/WebAPIBase.cpp
- )
- # 查找库文件,在这里区分平台,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)
- 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 "LHHTTPAPI Found : ${LHHTTPAPI_FOUND}")
- message(STATUS "LHHTTPAPI Version : ${LHHTTPAPI_VERSION}")
- message(STATUS "--------------------------------------------------")
- #导入目标
- if(LHHTTPAPI_FOUND)
- if(NOT TARGET lhhttpapi::lhhttpapi)
- add_library(lhhttpapi::lhhttpapi UNKNOWN IMPORTED)
- #添加头文件
- set_target_properties(lhhttpapi::lhhttpapi PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${LHHTTPAPI_INCLUDE_DIRS}")
- #添加库文件
- # if(ENABLE_SPDLOG_STATIC_LIB)
- # set_target_properties(${_lib_name} PROPERTIES
- # IMPORTED_LOCATION "${spdlog_STATIC_LIBRARY}")
- # #添加spdlog需要的依赖库
- # set_target_properties(${_lib_name} PROPERTIES
- # INTERFACE_LINK_LIBRARIES "pthread")
- # else()
- # set_target_properties(${_lib_name} PROPERTIES
- # IMPORTED_LOCATION "${spdlog_LIBRARY}")
- # set_target_properties(${_lib_name} PROPERTIES
- # INTERFACE_LINK_LIBRARIES "pthread")
- # endif()
- #添加源文件
- set_target_properties(lhhttpapi::lhhttpapi PROPERTIES
- INTERFACE_SOURCES "${LHHTTPAPI_SOURCE_DIRS}")
- endif()
- endif()
- # 标记这些变量为高级变量
- mark_as_advanced(
- LHHTTPAPI_INCLUDE_DIRS
- LHHTTPAPI_SOURCE_DIRS
- )
|