From 3c45295ef08d9b9ec5fb1d6fa7db508ac4b5df4b Mon Sep 17 00:00:00 2001 From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org> Date: Sun, 2 May 2010 19:16:12 +0800 Subject: [PATCH] ENH: add autodetection of curlmulti capabilities --- CMake/TestCurlMulti.cxx | 11 +++++++++++ CMakeLists.txt | 11 ++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 CMake/TestCurlMulti.cxx diff --git a/CMake/TestCurlMulti.cxx b/CMake/TestCurlMulti.cxx new file mode 100644 index 0000000000..31bc4cfaf8 --- /dev/null +++ b/CMake/TestCurlMulti.cxx @@ -0,0 +1,11 @@ +#include "curl/curl.h" +#include <iostream> + +int main(int argc,char * argv[]) +{ + CURLM * multiHandle; + multiHandle = curl_multi_init(); + curl_multi_cleanup(multiHandle); + + return 0; +} diff --git a/CMakeLists.txt b/CMakeLists.txt index 8bcb206846..6804f52783 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -367,9 +367,14 @@ IF(OTB_USE_CURL) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) # TODO add test to check if curl multi is available - OPTION(OTB_CURL_MULTI_AVAILABLE "Whether or not the curl has curlmulti capabilities" ON) - MARK_AS_ADVANCED(OTB_CURL_MULTI_AVAILABLE) - ADD_DEFINITIONS(-DOTB_CURL_MULTI_AVAILABLE) + TRY_COMPILE(OTB_CURL_MULTI_AVAILABLE + ${CMAKE_CURRENT_BINARY_DIR}/CMake + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/TestCurlMulti.cxx + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:PATH=${CURL_INCLUDE_DIR}" "-DLINK_LIBRARIES:STRING=${CURL_LIBRARY}" + OUTPUT_VARIABLE OUTPUT) + IF (OTB_CURL_MULTI_AVAILABLE) + ADD_DEFINITIONS(-DOTB_CURL_MULTI_AVAILABLE) + ENDIF (OTB_CURL_MULTI_AVAILABLE) ENDIF(OTB_USE_CURL) #------------------------------- -- GitLab