FindLHHTTPAPI.cmake 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #查找LHHttpAPI库
  2. message(STATUS "===== FindLHHTTPAPI.cmake =====")
  3. #查找头文件
  4. unset(INCLUDE_DIR CACHE)
  5. find_path(INCLUDE_DIR
  6. NAMES lhhttpapi.h
  7. PATHS ${CMAKE_CURRENT_LIST_DIR}/src
  8. NO_DEFAULT_PATH
  9. )
  10. list(APPEND LHHTTPAPI_INCLUDE_DIRS ${INCLUDE_DIR})
  11. #查找源文件
  12. unset(SOURCE_DIR CACHE)
  13. find_path(SOURCE_DIR
  14. NAMES lhhttpapi.cpp
  15. PATHS ${CMAKE_CURRENT_LIST_DIR}/src
  16. NO_DEFAULT_PATH
  17. )
  18. list(APPEND LHHTTPAPI_SOURCE_DIRS ${SOURCE_DIR})
  19. # 查找库文件,在这里区分平台,Debug和Release,32位和64位
  20. # 这里没有使用这个文件夹内的curl库,而是使用了外部的curl库
  21. unset(LHHTTPAPI_LIBRARY CACHE)
  22. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  23. #64位
  24. if(CMAKE_SIZEOF_VOID_P MATCHES 8)
  25. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  26. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterfaced.dll)
  27. # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
  28. else()
  29. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterface.dll)
  30. # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
  31. endif()
  32. #32位
  33. elseif(CMAKE_SIZEOF_VOID_P MATCHES 4)
  34. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  35. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterfaced.dll)
  36. # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
  37. else()
  38. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterface.dll)
  39. # list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
  40. endif()
  41. endif()
  42. #添加Linux版本
  43. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  44. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  45. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/linux_gcc8.3/debug/libLHSqlWebInterface.so)
  46. else()
  47. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/uos_x64/release/libLHSqlWebInterface.so)
  48. endif()
  49. endif()
  50. #定义变量
  51. if(LHHTTPAPI_INCLUDE_DIRS AND LHHTTPAPI_SOURCE_DIRS AND LHHTTPAPI_LIBRARY)
  52. set(LHHTTPAPI_FOUND TRUE)
  53. set(LHHTTPAPI_VERSION 1.0.9)
  54. # message(STATUS "LHHTTPAPI found: LHHTTPAPI")
  55. message(STATUS "LHHTTPAPI include: LHHTTPAPI_INCLUDE_DIRS")
  56. message(STATUS "LHHTTPAPI source: LHHTTPAPI_SOURCE_DIRS")
  57. # message(STATUS "LHHTTPAPI library: LHHTTPAPI_LIBRARY")
  58. else()
  59. set(LHHTTPAPI_FOUND FALSE)
  60. endif()
  61. message(STATUS "--------------------------------------------------")