FindLHHttpAPI.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. unset(LHHTTPAPI_LIBRARY CACHE)
  21. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  22. #64位
  23. if(CMAKE_SIZEOF_VOID_P MATCHES 8)
  24. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  25. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterfaced.dll)
  26. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
  27. else()
  28. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/LHSqlWebInterface.dll)
  29. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_64/libcurl.dll)
  30. endif()
  31. #32位
  32. elseif(CMAKE_SIZEOF_VOID_P MATCHES 4)
  33. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  34. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterfaced.dll)
  35. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
  36. else()
  37. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/LHSqlWebInterface.dll)
  38. list(APPEND LHHTTPAPI_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/lib/MinGW_32/libcurl.dll)
  39. endif()
  40. endif()
  41. endif()
  42. #定义变量
  43. if(LHHTTPAPI_INCLUDE_DIRS AND LHHTTPAPI_SOURCE_DIRS AND LHHTTPAPI_LIBRARY)
  44. set(LHHTTPAPI_FOUND TRUE)
  45. set(LHHTTPAPI_VERSION 1.0.9)
  46. else()
  47. set(LHHTTPAPI_FOUND FALSE)
  48. endif()
  49. message(STATUS "LHHTTPAPI found: LHHTTPAPI")
  50. message(STATUS "LHHTTPAPI include: LHHTTPAPI_INCLUDE_DIRS")
  51. message(STATUS "LHHTTPAPI source: LHHTTPAPI_SOURCE_DIRS")
  52. message(STATUS "LHHTTPAPI library: LHHTTPAPI_LIBRARY")
  53. message(STATUS "---------------------------------------------")