FindCURL.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #CURL库
  2. message(STATUS "***** Find CURL Library *****")
  3. #寻找头文件
  4. find_path(CURL_INCLUDE_DIR
  5. NAMES curl/curl.h
  6. PATHS ${CMAKE_CURRENT_LIST_DIR}/include
  7. NO_DEFAULT_PATH
  8. )
  9. #查找库文件,需要判断操作系统,位数
  10. if(CMAKE_SYSTEM_NAME MATCHES "Windows")
  11. if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
  12. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  13. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  14. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gccc7.3/libcurl.dll)
  15. else()
  16. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gccc7.3/libcurl.dll)
  17. endif()
  18. elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
  19. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  20. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gccc7.3_32/libcurl.dll)
  21. else()
  22. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gccc7.3_32/libcurl.dll)
  23. endif()
  24. endif()
  25. elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
  26. endif()
  27. #添加Linux版本
  28. elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
  29. if(CMAKE_BUILD_TYPE MATCHES "Debug")
  30. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libcurl.so)
  31. list(APPEND CURL_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libcurl.a)
  32. else()
  33. list(APPEND CURL_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libcurl.so)
  34. list(APPEND CURL_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libcurl.a)
  35. endif()
  36. endif()
  37. #设置查找到后的变量
  38. if(CURL_INCLUDE_DIR AND ( CURL_LIBRARY OR CURL_STATIC_LIBRARY) )
  39. set(CURL_FOUND TRUE)
  40. set(CURL_VERSION 7.88.1)
  41. if(CURL_INCLUDE_DIR AND CURL_LIBRARY AND CURL_STATIC_LIBRARY)
  42. message(STATUS "include : CURL_INCLUDE_DIR")
  43. message(STATUS "Library : CURL_LIBRARY")
  44. message(STATUS "Static Library : CURL_STATIC_LIBRARY")
  45. elseif(CURL_INCLUDE_DIR AND CURL_LIBRARY)
  46. message(STATUS "include : CURL_INCLUDE_DIR")
  47. message(STATUS "Library : CURL_LIBRARY")
  48. endif()
  49. else()
  50. set(CURL_FOUND FALSE)
  51. endif()
  52. message(STATUS "---------------------------------")