diff options
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r-- | ConfigureChecks.cmake | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 3a98758e..93e3c1ac 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -23,6 +23,19 @@ endif(CMAKE_COMPILER_IS_GNUC) # HEADER FILES check_include_file(pty.h HAVE_PTY_H) check_include_file(terminos.h HAVE_TERMIOS_H) +if (WIN32) + check_include_file(wspiapi.h HAVE_WSPIAPI_H) + if (NOT HAVE_WSPIAPI_H) + message(STATUS "WARNING: Without wspiapi.h, this build will only work on Windows XP and newer versions") + endif (NOT HAVE_WSPIAPI_H) + check_include_file(ws2tcpip.h HAVE_WS2TCPIP_H) + if (HAVE_WSPIAPI_H OR HAVE_WS2TCPIP_H) + set(HAVE_GETADDRINFO TRUE) + set(HAVE_GETHOSTBYNAME TRUE) + endif (HAVE_WSPIAPI_H OR HAVE_WS2TCPIP_H) + + set(HAVE_SELECT TRUE) +endif (WIN32) set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIRS}) check_include_file(openssl/aes.h HAVE_OPENSSL_AES_H) @@ -32,26 +45,26 @@ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIRS}) check_include_file(openssl/des.h HAVE_OPENSSL_DES_H) # FUNCTIONS -check_function_exists(cfmakeraw HAVE_CFMAKERAW) -if (WIN32) - set(HAVE_GETADDRINFO TRUE) - set(HAVE_GETHOSTBYNAME TRUE) - set(HAVE_SELECT TRUE) -else (WIN32) + +if (UNIX) + # libsocket (Solaris) + check_library_exists(socket getaddrinfo "" HAVE_LIBSOCKET) + if (HAVE_LIBSOCKET) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} socket) + endif (HAVE_LIBSOCKET) + # libnsl (Solaris) + check_library_exists(nsl gethostbyname "" HAVE_LIBNSL) + if (HAVE_LIBNSL) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} nsl) + endif (HAVE_LIBNSL) + check_function_exists(getaddrinfo HAVE_GETADDRINFO) - if (NOT HAVE_GETADDRINFO) - check_library_exists("socket" "getaddrinfo" "" HAVE_LIB_GETADDRINFO) - set(HAVE_GETADDRINFO 1) - endif (NOT HAVE_GETADDRINFO) check_function_exists(gethostbyname HAVE_GETHOSTBYNAME) - if (NOT HAVE_GETHOSTBYNAME) - check_library_exists("nsl" "gethostbyname" "" HAVE_LIB_GETHOSTBYNAME) - set(HAVE_GETHOSTBYNAME 1) - endif (NOT HAVE_GETHOSTBYNAME) check_function_exists(poll HAVE_POLL) check_function_exists(select HAVE_SELECT) + check_function_exists(cfmakeraw HAVE_CFMAKERAW) check_function_exists(regcomp HAVE_REGCOMP) -endif (WIN32) +endif (UNIX) # LIBRARIES if (CRYPTO_FOUND) |