summaryrefslogtreecommitdiffstats
path: root/Source/CTest/Curl/CMakeLists.txt
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-01-07 02:13:39 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-01-07 02:13:39 (GMT)
commitbaeba76200afb19cf8ea4e67025c1916ac210b13 (patch)
treef9fb8746b534b90c89e1d54e7a16a0b14873f894 /Source/CTest/Curl/CMakeLists.txt
parent0f14e027b5263a78b2bd1d41a319f16dacaa16af (diff)
downloadCMake-baeba76200afb19cf8ea4e67025c1916ac210b13.zip
CMake-baeba76200afb19cf8ea4e67025c1916ac210b13.tar.gz
CMake-baeba76200afb19cf8ea4e67025c1916ac210b13.tar.bz2
Initial import
Diffstat (limited to 'Source/CTest/Curl/CMakeLists.txt')
-rw-r--r--Source/CTest/Curl/CMakeLists.txt309
1 files changed, 309 insertions, 0 deletions
diff --git a/Source/CTest/Curl/CMakeLists.txt b/Source/CTest/Curl/CMakeLists.txt
new file mode 100644
index 0000000..4c14cae
--- /dev/null
+++ b/Source/CTest/Curl/CMakeLists.txt
@@ -0,0 +1,309 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
+PROJECT(LIBCURL C)
+
+SET(PACKAGE "curl")
+SET(VERSION "7.9.5")
+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
+ )
+
+IF(WIN32)
+ INCLUDE(${LIBCURL_SOURCE_DIR}/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)
+
+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("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_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(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(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)
+