diff --git a/CMake/TestCurlMulti.cxx b/CMake/TestCurlMulti.cxx new file mode 100644 index 0000000000000000000000000000000000000000..31bc4cfaf8beae6522ed710c1641e173590551ff --- /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 8bcb20684652b58bc37fa046fbdaf7ef8a6dc3d6..6804f52783dad0674df9f18c22b9380b7c0ac908 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) #-------------------------------