summaryrefslogtreecommitdiffstats
path: root/Modules/FindCURL.cmake
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2012-01-23 20:46:56 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2012-01-23 20:46:56 (GMT)
commitc1b884965f86e2622f55d261259fc2a148035f5b (patch)
treebc7eb48d61d6c3d374b1e8cf956b1fe380a23e92 /Modules/FindCURL.cmake
parent86c9604f98b2271401cf7a53c251be51af15278c (diff)
downloadCMake-c1b884965f86e2622f55d261259fc2a148035f5b.zip
CMake-c1b884965f86e2622f55d261259fc2a148035f5b.tar.gz
CMake-c1b884965f86e2622f55d261259fc2a148035f5b.tar.bz2
FindCURL: support version selection
Diffstat (limited to 'Modules/FindCURL.cmake')
-rw-r--r--Modules/FindCURL.cmake19
1 files changed, 15 insertions, 4 deletions
diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake
index 36f3841..517638a 100644
--- a/Modules/FindCURL.cmake
+++ b/Modules/FindCURL.cmake
@@ -1,12 +1,14 @@
# - Find curl
# Find the native CURL headers and libraries.
#
-# CURL_INCLUDE_DIRS - where to find curl/curl.h, etc.
-# CURL_LIBRARIES - List of libraries when using curl.
-# CURL_FOUND - True if curl found.
+# CURL_INCLUDE_DIRS - where to find curl/curl.h, etc.
+# CURL_LIBRARIES - List of libraries when using curl.
+# CURL_FOUND - True if curl found.
+# CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -32,10 +34,19 @@ 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 ]+\".*\"")
+
+ STRING(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
+ UNSET(curl_version_str)
+ENDIF()
+
# handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL
+ REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR
+ VERSION_VAR CURL_VERSION_STRING)
IF(CURL_FOUND)
SET(CURL_LIBRARIES ${CURL_LIBRARY})