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.
This commit is contained in:
Rolf Eike Beer 2012-01-26 18:24:56 +01:00
parent 208569f1da
commit 0640ec9476
1 changed files with 9 additions and 4 deletions

View File

@ -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