浏览代码

FindCURL: detect version number also for older versions

Older versions of cURL do not have a curlver.h, but have the version define
directly in curl.h.
Rolf Eike Beer 14 年之前
父节点
当前提交
0640ec9476
共有 1 个文件被更改,包括 9 次插入4 次删除
  1. 9 4
      Modules/FindCURL.cmake

+ 9 - 4
Modules/FindCURL.cmake

@@ -34,11 +34,16 @@ FIND_LIBRARY(CURL_LIBRARY NAMES
 )
 MARK_AS_ADVANCED(CURL_LIBRARY)
 
-IF(CURL_INCLUDE_DIR AND EXISTS "${CURL_INCLUDE_DIR}/curl/curlver.h")
-  FILE(STRINGS "${CURL_INCLUDE_DIR}/curl/curlver.h" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
+IF(CURL_INCLUDE_DIR)
+  FOREACH(_curl_version_header curlver.h curl.h)
+    IF(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
+      FILE(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
 
-  STRING(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
-  UNSET(curl_version_str)
+      STRING(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
+      UNSET(curl_version_str)
+      BREAK()
+    ENDIF()
+  ENDFOREACH(_curl_version_header)
 ENDIF()
 
 # handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if