Mercurial > hg > orthanc
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()