From 3804e72e24cd8fcc8f28e83781495c2ddfc14732 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 25 Aug 2009 15:07:29 +0200 Subject: [PATCH] Fix linking on solaris. libresolv and librt are required. --- ConfigureChecks.cmake | 11 +++++++++++ libssh/CMakeLists.txt | 8 +------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 93e3c1ac..7454c904 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -57,6 +57,16 @@ if (UNIX) if (HAVE_LIBNSL) set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} nsl) endif (HAVE_LIBNSL) + # libresolv + check_library_exists(resolve hstrerror "" HAVE_LIBRESOLV) + if (HAVE_LIBRESOLV) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} resolv) + endif (HAVE_LIBRESOLV) + check_library_exists(rt nanosleep "" HAVE_LIBRT) + # librt + if (HAVE_LIBRT) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} rt) + endif (HAVE_LIBRT) check_function_exists(getaddrinfo HAVE_GETADDRINFO) check_function_exists(gethostbyname HAVE_GETHOSTBYNAME) @@ -65,6 +75,7 @@ if (UNIX) check_function_exists(cfmakeraw HAVE_CFMAKERAW) check_function_exists(regcomp HAVE_REGCOMP) endif (UNIX) +set(LIBSSH_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CACHE INTERNAL "libssh required system libraries") # LIBRARIES if (CRYPTO_FOUND) diff --git a/libssh/CMakeLists.txt b/libssh/CMakeLists.txt index fc355bfd..ad13b8ff 100644 --- a/libssh/CMakeLists.txt +++ b/libssh/CMakeLists.txt @@ -25,6 +25,7 @@ if (WITH_STATIC_LIB) endif (WITH_STATIC_LIB) set(LIBSSH_LINK_LIBRARIES + ${LIBSSH_REQUIRED_LIBRARIES} ${ZLIB_LIBRARIES} ) @@ -35,13 +36,6 @@ if (WIN32) ) endif (WIN32) -if (HAVE_LIBNSL) - set(LIBSSH_LINK_LIBRARIES - ${LIBSSH_LINK_LIBRARIES} - nsl - ) -endif (HAVE_LIBNSL) - if (HAVE_LIBSOCKET) set(LIBSSH_LINK_LIBRARIES ${LIBSSH_LINK_LIBRARIES}