FindLHHTTPAPI.cmake 2.8 KB

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