diff Resources/CMake/LibCurlConfiguration.cmake @ 29:042ac60f5bf9

simplified build of curl
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 29 Aug 2012 15:27:13 +0200
parents 6ba765ecf3db
children 89383427856a
line wrap: on
line diff
--- a/Resources/CMake/LibCurlConfiguration.cmake	Wed Aug 29 11:07:55 2012 +0200
+++ b/Resources/CMake/LibCurlConfiguration.cmake	Wed Aug 29 15:27:13 2012 +0200
@@ -2,29 +2,31 @@
   SET(CURL_SOURCES_DIR ${CMAKE_BINARY_DIR}/curl-7.26.0)
   DownloadPackage("http://curl.haxx.se/download/curl-7.26.0.tar.gz" "${CURL_SOURCES_DIR}" "" "")
 
-  if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-    if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-      SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/WithSsl/x86_64-linux)
-    elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
-      SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i686-pc-linux-gnu)
+  if (0)
+    if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+      if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+        SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/WithSsl/x86_64-linux)
+      elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
+        SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i686-pc-linux-gnu)
+      else()
+        message(FATAL_ERROR "Support your platform here")
+      endif()
+    elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+      if (${MSVC})
+        SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/msvc)
+      else()
+        SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i586-mingw32msvc)
+      endif()
     else()
       message(FATAL_ERROR "Support your platform here")
     endif()
-  elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-    if (${MSVC})
-      SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/msvc)
-    else()
-      SET(SOURCE_CONFIG ${CMAKE_SOURCE_DIR}/Resources/libcurl/i586-mingw32msvc)
+
+    if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+      configure_file("${SOURCE_CONFIG}/curl_config.h" "${CURL_SOURCES_DIR}/lib/curl_config.h" COPYONLY)
+      configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
+    elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+      configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
     endif()
-  else()
-    message(FATAL_ERROR "Support your platform here")
-  endif()
-
-  if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-    configure_file("${SOURCE_CONFIG}/curl_config.h" "${CURL_SOURCES_DIR}/lib/curl_config.h" COPYONLY)
-    configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
-  elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-    configure_file("${SOURCE_CONFIG}/curlbuild.h" "${CURL_SOURCES_DIR}/include/curl/curlbuild.h" COPYONLY)
   endif()
 
   include_directories(${CURL_SOURCES_DIR}/include)
@@ -32,20 +34,88 @@
   AUX_SOURCE_DIRECTORY(${CURL_SOURCES_DIR}/lib CURL_SOURCES)
   source_group(ThirdParty\\LibCurl REGULAR_EXPRESSION ${CURL_SOURCES_DIR}/.*)
 
-  list(APPEND THIRD_PARTY_SOURCES ${CURL_SOURCES})
-  
+  #list(APPEND THIRD_PARTY_SOURCES ${CURL_SOURCES})
+  add_library(Curl STATIC ${CURL_SOURCES})
+  link_libraries(Curl)  
+
   add_definitions(
     -DCURL_STATICLIB=1
     -DBUILDING_LIBCURL=1
     -DCURL_DISABLE_LDAPS=1
     -DCURL_DISABLE_LDAP=1
     -D_WIN32_WINNT=0x0501
+
+    -DCURL_DISABLE_DICT=1
+    -DCURL_DISABLE_FILE=1
+    -DCURL_DISABLE_FTP=1
+    -DCURL_DISABLE_GOPHER=1
+    -DCURL_DISABLE_LDAP=1
+    -DCURL_DISABLE_LDAPS=1
+    -DCURL_DISABLE_POP3=1
+    -DCURL_DISABLE_PROXY=1
+    -DCURL_DISABLE_RTSP=1
+    -DCURL_DISABLE_TELNET=1
+    -DCURL_DISABLE_TFTP=1
     )
 
+  if (${ENABLE_SSL})
+    add_definitions(
+      #-DHAVE_LIBSSL=1
+      -DUSE_OPENSSL=1
+      -DUSE_SSLEAY=1
+      )
+  endif()
+
   if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+    #set_property(
+    #  SOURCE ${CURL_SOURCES}
+    #  PROPERTY COMPILE_DEFINITIONS HAVE_CONFIG_H)
+    if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+      SET(TMP_OS "x86_64")
+    else()
+      SET(TMP_OS "x86")
+    endif()
+
     set_property(
       SOURCE ${CURL_SOURCES}
-      PROPERTY COMPILE_DEFINITIONS HAVE_CONFIG_H)
+      PROPERTY COMPILE_DEFINITIONS "HAVE_TIME_H;HAVE_STRUCT_TIMEVAL;HAVE_SYS_STAT_H;HAVE_SOCKET;HAVE_STRUCT_SOCKADDR_STORAGE;HAVE_SYS_SOCKET_H;HAVE_SOCKET;HAVE_SYS_SOCKET_H;HAVE_NETINET_IN_H;HAVE_NETDB_H;HAVE_FCNTL_O_NONBLOCK;HAVE_FCNTL_H;HAVE_SELECT;HAVE_ERRNO_H;HAVE_SEND;HAVE_RECV;OS=\"${TMP_OS}\"")
+    if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+      add_definitions(
+        -DRECV_TYPE_ARG1=int
+        -DRECV_TYPE_ARG2=void*
+        -DRECV_TYPE_ARG3=size_t
+        -DRECV_TYPE_ARG4=int
+        -DRECV_TYPE_RETV=ssize_t
+        -DSEND_TYPE_ARG1=int
+        -DSEND_TYPE_ARG2=void*
+        -DSEND_QUAL_ARG2=const
+        -DSEND_TYPE_ARG3=size_t
+        -DSEND_TYPE_ARG4=int
+        -DSEND_TYPE_RETV=ssize_t
+        -DSIZEOF_SHORT=2
+        -DSIZEOF_INT=4
+        -DSIZEOF_SIZE_T=8
+        )
+    elseif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
+      add_definitions(
+        -DRECV_TYPE_ARG1=SOCKET
+        -DRECV_TYPE_ARG2=char*
+        -DRECV_TYPE_ARG3=int
+        -DRECV_TYPE_ARG4=int
+        -DRECV_TYPE_RETV=int
+        -DSEND_TYPE_ARG1=SOCKET
+        -DSEND_TYPE_ARG2=char*
+        -DSEND_QUAL_ARG2=const
+        -DSEND_TYPE_ARG3=int
+        -DSEND_TYPE_ARG4=int
+        -DSEND_TYPE_RETV=int
+        -DSIZEOF_SHORT=2
+        -DSIZEOF_INT=4
+        -DSIZEOF_SIZE_T=4
+        )
+    else()
+      message(FATAL_ERROR "Support your platform here")
+    endif()
   endif()
 
 else()