From 05b58501f24ea0bcb6072f66f4ba3aa3ba907ab9 Mon Sep 17 00:00:00 2001
From: sfan5 <sfan5@live.de>
Date: Mon, 17 Dec 2012 20:57:30 +0100
Subject: [PATCH] Tweak CMake files for cURL

---
 cmake/Modules/FindCURL.cmake | 41 +++++++++++++++++++++++++++++-------
 src/CMakeLists.txt           |  7 +++++-
 2 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/cmake/Modules/FindCURL.cmake b/cmake/Modules/FindCURL.cmake
index ec0503fd9..03ca4e0fa 100644
--- a/cmake/Modules/FindCURL.cmake
+++ b/cmake/Modules/FindCURL.cmake
@@ -5,13 +5,38 @@
 #  CURL_LIBRARY    - List of libraries when using curl.
 #  CURL_FOUND        - True if curl found.
 
-# Look for the header file.
-FIND_PATH(CURL_INCLUDE_DIR NAMES curl/curl.h)
+if( UNIX )
+  FIND_PATH(CURL_INCLUDE_DIR NAMES curl.h
+    PATHS
+    /usr/local/include/curl
+    /usr/include/curl
+  )
 
-# Look for the library.
-FIND_LIBRARY(CURL_LIBRARY NAMES curl)
+  FIND_LIBRARY(CURL_LIBRARY NAMES libcurl.a curl
+    PATHS
+    /usr/local/lib
+    /usr/lib
+  )
+else( UNIX )
+  FIND_PATH(CURL_INCLUDE_DIR NAMES curl/curl.h) # Look for the header file.
+  FIND_LIBRARY(CURL_LIBRARY NAMES curl) # Look for the library.
+  INCLUDE(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR) # all listed variables are TRUE
+endif( UNIX )
 
-# handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
-# all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR)
+if( WIN32 )
+  if( CURL_LIBRARY AND CURL_INCLUDE_DIR AND CURL_DLL ) # libcurl.dll is required on Windows
+    SET(CURL_FOUND TRUE)
+  else( CURL_LIBRARY AND CURL_INCLUDE_DIR AND CURL_DLL )
+    SET(CURL_FOUND FALSE)
+  endif( CURL_LIBRARY AND CURL_INCLUDE_DIR AND CURL_DLL )
+else ( WIN32 )
+  if( CURL_LIBRARY AND CURL_INCLUDE_DIR )
+    SET(CURL_FOUND TRUE)
+  else( CURL_LIBRARY AND CURL_INCLUDE_DIR )
+    SET(CURL_FOUND FALSE)
+  endif( CURL_LIBRARY AND CURL_INCLUDE_DIR )
+endif ( WIN32 )
+
+MESSAGE(STATUS "CURL_INCLUDE_DIR = ${CURL_INCLUDE_DIR}")
+MESSAGE(STATUS "CURL_LIBRARY = ${CURL_LIBRARY}")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 38410f7d2..107f580ce 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -12,7 +12,9 @@ if (NOT ENABLE_CURL)
 	mark_as_advanced(CLEAR CURL_LIBRARY CURL_INCLUDE_DIR)
 endif(NOT ENABLE_CURL)
 
-find_package(CURL)
+if( ENABLE_CURL )
+	find_package(CURL)
+endif( ENABLE_CURL )
 set(USE_CURL 0)
 if (CURL_FOUND AND ENABLE_CURL)
 	message(STATUS "cURL support enabled")
@@ -436,6 +438,9 @@ if(WIN32)
 		if(VORBISFILE_DLL)
 			install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR})
 		endif()
+		if(CURL_DLL)
+			install(FILES ${CURL_DLL} DESTINATION ${BINDIR})
+		endif()
 	endif()
 endif()
 
-- 
GitLab