| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
- PROJECT(LIBCURL C)
- SET(PACKAGE "curl")
- SET(VERSION "7.10.2")
- SET(PACKAGE_TARNAME " ")
- SET(OPERATING_SYSTEM ${CMAKE_SYSTEM_NAME})
- SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
- SET(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
- INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
- INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
- INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
- INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
- INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
- SET(libCurl_SRCS
- file.c
- timeval.c
- base64.c
- hostip.c
- progress.c
- formdata.c
- cookie.c
- http.c
- sendf.c
- ftp.c
- url.c
- dict.c
- if2ip.c
- speedcheck.c
- getdate.c
- ldap.c
- ssluse.c
- version.c
- getenv.c
- escape.c
- mprintf.c
- telnet.c
- getpass.c
- netrc.c
- getinfo.c
- transfer.c
- strequal.c
- easy.c
- security.c
- krb4.c
- memdebug.c
- http_chunks.c
- strtok.c
- connect.c
- llist.c
- hash.c
- multi.c
- content_encoding.c
- )
- IF(WIN32)
- INCLUDE(${LIBCURL_SOURCE_DIR}/Platforms/WindowsCache.cmake)
- ENDIF(WIN32)
- SET(CURL_LIBS "")
- CHECK_LIBRARY_EXISTS("nsl;${CURL_LIBS}" gethostname "" HAVE_LIBNSL)
- IF(HAVE_LIBNSL)
- SET(CURL_LIBS ${CURL_LIBS} nsl)
- ENDIF(HAVE_LIBNSL)
- CHECK_LIBRARY_EXISTS("dl;${CURL_LIBS}" dlopen "" HAVE_LIBDL)
- IF(HAVE_LIBDL)
- SET(HAVE_DLOPEN 1)
- SET(CURL_LIBS ${CURL_LIBS} dl)
- ENDIF(HAVE_LIBDL)
- CHECK_LIBRARY_EXISTS("ucb;${CURL_LIBS}" gethostname "" HAVE_LIBUCB)
- IF(HAVE_LIBUCB)
- SET(CURL_LIBS ${CURL_LIBS} ucb)
- ENDIF(HAVE_LIBUCB)
- CHECK_LIBRARY_EXISTS("socket;${CURL_LIBS}" connect "" HAVE_LIBSOCKET)
- IF(HAVE_LIBSOCKET)
- SET(CURL_LIBS ${CURL_LIBS} socket)
- ENDIF(HAVE_LIBSOCKET)
- CHECK_LIBRARY_EXISTS("ws2_32;${CURL_LIBS}" printf "" HAVE_LIBWS2_32)
- IF(HAVE_LIBWS2_32)
- SET(CURL_LIBS ${CURL_LIBS} ws2_32)
- ENDIF(HAVE_LIBWS2_32)
- CHECK_LIBRARY_EXISTS("winmm;${CURL_LIBS}" printf "" HAVE_LIBWINMM)
- IF(HAVE_LIBWINMM)
- SET(CURL_LIBS ${CURL_LIBS} winmm)
- ENDIF(HAVE_LIBWINMM)
- CHECK_LIBRARY_EXISTS("z;${CURL_LIBS}" inflateEnd "" HAVE_LIBZ)
- IF(HAVE_LIBZ)
- SET(CURL_LIBS ${CURL_LIBS} z)
- ENDIF(HAVE_LIBZ)
- SET(CMAKE_REQUIRED_LIBRARIES ${CURL_LIBS})
- CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
- CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
- CHECK_INCLUDE_FILE("alloca.h" HAVE_ALLOCA_H)
- CHECK_INCLUDE_FILE("arpa/inet.h" HAVE_ARPA_INET_H)
- CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
- CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
- CHECK_INCLUDE_FILE("malloc.h" HAVE_MALLOC_H)
- CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H)
- CHECK_INCLUDE_FILE("netdb.h" HAVE_NETDB_H)
- CHECK_INCLUDE_FILE("zlib.h" HAVE_ZLIB_H)
- CHECK_INCLUDE_FILE("sys/poll.h" HAVE_SYS_POLL_H)
- CHECK_INCLUDE_FILE("netinet/in.h" HAVE_NETINET_IN_H)
- CHECK_INCLUDE_FILE("sys/socket.h" HAVE_SYS_SOCKET_H)
- IF(HAVE_SYS_TYPES_H)
- SET(TEST_NETWORK_INCLUDES ${TEST_NETWORK_INCLUDES} "sys/types.h")
- ENDIF(HAVE_SYS_TYPES_H)
- IF(HAVE_SYS_SOCKET_H)
- SET(TEST_NETWORK_INCLUDES ${TEST_NETWORK_INCLUDES} "sys/socket.h")
- ENDIF(HAVE_SYS_SOCKET_H)
- CHECK_INCLUDE_FILES("${TEST_NETWORK_INCLUDES};net/if.h" HAVE_NET_IF_H)
- IF(HAVE_NET_IF_H)
- SET(TEST_NETWORK_INCLUDES ${TEST_NETWORK_INCLUDES} "net/if.h")
- ENDIF(HAVE_NET_IF_H)
- IF(HAVE_NETINET_IN_H)
- SET(TEST_NETWORK_INCLUDES ${TEST_NETWORK_INCLUDES} "netinet/in.h")
- ENDIF(HAVE_NETINET_IN_H)
- CHECK_INCLUDE_FILES("${TEST_NETWORK_INCLUDES};netinet/if_ether.h" HAVE_NETINET_IF_ETHER_H)
- CHECK_INCLUDE_FILE("netinet/in.h" HAVE_NETINET_IN_H)
- CHECK_INCLUDE_FILE("pwd.h" HAVE_PWD_H)
- CHECK_INCLUDE_FILE("sgtty.h" HAVE_SGTTY_H)
- CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
- CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H)
- CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H)
- CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H)
- CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H)
- CHECK_INCLUDE_FILE("sys/select.h" HAVE_SYS_SELECT_H)
- CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
- CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H)
- CHECK_INCLUDE_FILE("termios.h" HAVE_TERMIOS_H)
- CHECK_INCLUDE_FILE("termio.h" HAVE_TERMIO_H)
- CHECK_INCLUDE_FILE("io.h" HAVE_IO_H)
- CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H)
- CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
- CHECK_INCLUDE_FILE("utime.h" HAVE_UTIME_H)
- CHECK_INCLUDE_FILE("sys/utime.h" HAVE_SYS_UTIME_H)
- CHECK_INCLUDE_FILE("winsock.h" HAVE_WINSOCK_H)
- CHECK_INCLUDE_FILE("sockio.h" HAVE_SOCKIO_H)
- CHECK_INCLUDE_FILE("sys/sockio.h" HAVE_SYS_SOCKIO_H)
- CHECK_INCLUDE_FILE("x509.h" HAVE_X509_H)
- CHECK_INCLUDE_FILE("setjmp.h" HAVE_SETJMP_H)
- CHECK_TYPE_SIZE(ssize_t SIZEOF_SSIZE_T)
- CHECK_TYPE_SIZE("long double" SIZEOF_LONG_DOUBLE)
- IF(NOT HAVE_SIZEOF_SSIZE_T)
- SET(ssize_t int)
- ENDIF(NOT HAVE_SIZEOF_SSIZE_T)
- FIND_FILE(RANDOM_FILE urandom /dev)
- CHECK_FUNCTION_EXISTS(_doprnt HAVE_DOPRNT)
- CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
- CHECK_FUNCTION_EXISTS(socket HAVE_SOCKET)
- CHECK_FUNCTION_EXISTS(poll HAVE_POLL)
- CHECK_FUNCTION_EXISTS(select HAVE_SELECT)
- CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP)
- CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR)
- CHECK_FUNCTION_EXISTS(strtok_r HAVE_STRTOK_R)
- CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME)
- CHECK_FUNCTION_EXISTS(uname HAVE_UNAME)
- CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
- CHECK_FUNCTION_EXISTS(stricmp HAVE_STRICMP)
- CHECK_FUNCTION_EXISTS(strcmpi HAVE_STRCMPI)
- CHECK_FUNCTION_EXISTS(gethostname HAVE_GETHOSTNAME)
- CHECK_FUNCTION_EXISTS(gethostbyaddr HAVE_GETHOSTBYADDR)
- CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
- CHECK_FUNCTION_EXISTS(inet_addr HAVE_INET_ADDR)
- CHECK_FUNCTION_EXISTS(inet_ntoa HAVE_INET_NTOA)
- CHECK_FUNCTION_EXISTS(inet_ntoa_r HAVE_INET_NTOA_R)
- CHECK_FUNCTION_EXISTS(tcsetattr HAVE_TCSETATTR)
- CHECK_FUNCTION_EXISTS(tcgetattr HAVE_TCGETATTR)
- CHECK_FUNCTION_EXISTS(perror HAVE_PERROR)
- CHECK_FUNCTION_EXISTS(closesocket HAVE_CLOSESOCKET)
- CHECK_FUNCTION_EXISTS(setvbuf HAVE_SETVBUF)
- CHECK_FUNCTION_EXISTS(sigaction HAVE_SIGACTION)
- CHECK_FUNCTION_EXISTS(signal HAVE_SIGNAL)
- CHECK_FUNCTION_EXISTS(sigsetjmp HAVE_SIGSETJMP)
- CHECK_FUNCTION_EXISTS(__sigsetjmp HAVE___SIGSETJMP)
- IF(HAVE___SIGSETJMP)
- SET(HAVE_SIGSETJMP 1)
- ENDIF(HAVE___SIGSETJMP)
- CHECK_FUNCTION_EXISTS(getpass_r HAVE_GETPASS_R)
- CHECK_FUNCTION_EXISTS(strlcat HAVE_STRLCAT)
- CHECK_FUNCTION_EXISTS(getpwuid HAVE_GETPWUID)
- CHECK_FUNCTION_EXISTS(geteuid HAVE_GETEUID)
- CHECK_FUNCTION_EXISTS(utime HAVE_UTIME)
- CHECK_FUNCTION_EXISTS(RAND_status HAVE_RAND_STATUS)
- CHECK_FUNCTION_EXISTS(RAND_screen HAVE_RAND_SCREEN)
- CHECK_FUNCTION_EXISTS(RAND_egd HAVE_RAND_EGD)
- CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME_R)
- CHECK_FUNCTION_EXISTS(gethostbyaddr HAVE_GETHOSTBYADDR_R)
- CHECK_FUNCTION_EXISTS(gmtime HAVE_GMTIME_R)
- CHECK_FUNCTION_EXISTS(localtime HAVE_LOCALTIME_R)
- MACRO(CURL_INTERNAL_TEST CURL_TEST)
- IF("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CURL_TEST_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- MESSAGE(STATUS "Performing Curl Test ${CURL_TEST}")
- TRY_COMPILE(${CURL_TEST}
- ${CMAKE_BINARY_DIR}
- ${LIBCURL_SOURCE_DIR}/CMake/CurlTests.c
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_TEST_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- IF(${CURL_TEST})
- SET(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
- MESSAGE(STATUS "Performing Curl Test ${CURL_TEST} - Success")
- ELSE(${CURL_TEST})
- MESSAGE(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
- SET(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
- WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
- "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
- "${OUTPUT}\n" APPEND)
- ENDIF(${CURL_TEST})
- ENDIF("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
- ENDMACRO(CURL_INTERNAL_TEST)
- FOREACH(CURL_TEST
- TIME_WITH_SYS_TIME
- HAVE_O_NONBLOCK
- HAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYADDR_R_5_REENTRANT
- HAVE_GETHOSTBYADDR_R_7_REENTRANT
- HAVE_GETHOSTBYADDR_R_8_REENTRANT
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6
- HAVE_GETHOSTBYNAME_R_3_REENTRANT
- HAVE_GETHOSTBYNAME_R_5_REENTRANT
- HAVE_GETHOSTBYNAME_R_6_REENTRANT
- HAVE_SOCKLEN_T
- HAVE_IN_ADDR_T
- STDC_HEADERS
- RETSIGTYPE_TEST
- HAVE_INET_NTOA_R_DECL
- HAVE_INET_NTOA_R_DECL_REENTRANT
- )
- CURL_INTERNAL_TEST(${CURL_TEST})
- ENDFOREACH(CURL_TEST)
- FOREACH(CURL_TEST
- HAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6
- HAVE_INET_NTOA_R_DECL_REENTRANT)
- IF(NOT ${CURL_TEST})
- IF(${CURL_TEST}_REENTRANT)
- SET(NEED_REENTRANT 1)
- ENDIF(${CURL_TEST}_REENTRANT)
- ENDIF(NOT ${CURL_TEST})
- ENDFOREACH(CURL_TEST)
- IF(NEED_REENTRANT)
- FOREACH(CURL_TEST
- HAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6)
- SET(${CURL_TEST} 0)
- IF(${CURL_TEST}_REENTRANT)
- SET(${CURL_TEST} 1)
- ENDIF(${CURL_TEST}_REENTRANT)
- ENDFOREACH(CURL_TEST)
- ENDIF(NEED_REENTRANT)
- IF(HAVE_INET_NTOA_R_DECL_REENTRANT)
- SET(HAVE_INET_NTOA_R_DECL 1)
- SET(NEED_REENTRANT 1)
- ENDIF(HAVE_INET_NTOA_R_DECL_REENTRANT)
- IF(NOT HAVE_SOCKLEN_T)
- SET(socklen_t "int")
- ENDIF(NOT HAVE_SOCKLEN_T)
- IF(NOT HAVE_IN_ADDR_T)
- SET(in_addr_t "unsigned long")
- ENDIF(NOT HAVE_IN_ADDR_T)
- IF(RETSIGTYPE_TEST)
- SET(RETSIGTYPE void)
- ELSE(RETSIGTYPE_TEST)
- SET(RETSIGTYPE int)
- ENDIF(RETSIGTYPE_TEST)
- INCLUDE_DIRECTORIES(${LIBCURL_SOURCE_DIR})
- INCLUDE_DIRECTORIES(${LIBCURL_BINARY_DIR})
- ADD_DEFINITIONS(-DHAVE_CONFIG_H)
- CONFIGURE_FILE(${LIBCURL_SOURCE_DIR}/config.h.in
- ${LIBCURL_BINARY_DIR}/config.h)
- ADD_LIBRARY(Curl STATIC ${libCurl_SRCS})
- TARGET_LINK_LIBRARIES(Curl ${CURL_LIBS})
- OPTION(CURL_TESTING "Do libCurl testing" ON)
- IF(CURL_TESTING)
- SUBDIRS(Testing)
- ENDIF(CURL_TESTING)
|