diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2003-01-07 02:13:39 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2003-01-07 02:13:39 (GMT) |
commit | baeba76200afb19cf8ea4e67025c1916ac210b13 (patch) | |
tree | f9fb8746b534b90c89e1d54e7a16a0b14873f894 /Source/CTest/Curl/CMakeLists.txt | |
parent | 0f14e027b5263a78b2bd1d41a319f16dacaa16af (diff) | |
download | CMake-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.txt | 309 |
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) + |