check_function_exists(_snprintf_s HAVE__SNPRINTF_S)
endif (WIN32)
+if (UNIX)
+ if (NOT LINUX)
+ # libsocket (Solaris)
+ check_library_exists(socket getaddrinfo "" HAVE_LIBSOCKET)
+ if (HAVE_LIBSOCKET)
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} socket)
+ endif (HAVE_LIBSOCKET)
+
+ # libnsl/inet_pton (Solaris)
+ check_library_exists(nsl inet_pton "" HAVE_LIBNSL)
+ if (HAVE_LIBNSL)
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} nsl)
+ endif (HAVE_LIBNSL)
+ endif (NOT LINUX)
+
+ check_function_exists(getaddrinfo HAVE_GETADDRINFO)
+endif (UNIX)
+
if (SOLARIS)
check_function_exists(__posix_getpwnam_r HAVE___POSIX_GETPWNAM_R)
check_function_exists(__posix_getpwuid_r HAVE___POSIX_GETPWUID_R)
test_big_endian(WORDS_BIGENDIAN)
endif (NOT WIN32)
-set(NSSWRAP_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CACHE INTERNAL "nsswrap required system libraries")
+set(NWRAP_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CACHE INTERNAL "nss_wrapper required system libraries")
include_directories(${CMAKE_BINARY_DIR})
add_library(nss_wrapper SHARED nss_wrapper.c)
-target_link_libraries(nss_wrapper ${NSSWRAP_REQUIRED_LIBRARIES})
+target_link_libraries(nss_wrapper ${NWRAP_REQUIRED_LIBRARIES})
set_target_properties(
nss_wrapper
${CMOCKA_INCLUDE_DIR}
)
+set(TESTSUITE_LIBRARIES ${NWRAP_REQUIRED_LIBRARIES} ${CMOCKA_LIBRARY})
+
set(HOMEDIR ${CMAKE_CURRENT_BINARY_DIR})
configure_file(passwd.in ${CMAKE_CURRENT_BINARY_DIR}/passwd @ONLY)
set(TEST_ENVIRONMENT LD_PRELOAD=${CMAKE_BINARY_DIR}/src/libnss_wrapper.so;NSS_WRAPPER_PASSWD=${CMAKE_CURRENT_BINARY_DIR}/passwd;NSS_WRAPPER_GROUP=${CMAKE_CURRENT_BINARY_DIR}/group;NSS_WRAPPER_HOSTS=${CMAKE_CURRENT_BINARY_DIR}/hosts)
-add_cmocka_test(testsuite testsuite.c ${CMOCKA_LIBRARY})
+add_cmocka_test(testsuite testsuite.c ${TESTSUITE_LIBRARIES})
set_property(
TEST
testsuite
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT})
-add_cmocka_test(test_getaddrinfo test_getaddrinfo.c ${CMOCKA_LIBRARY})
+add_cmocka_test(test_getaddrinfo test_getaddrinfo.c ${TESTSUITE_LIBRARIES})
set_property(
TEST
test_getaddrinfo
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT})
-add_cmocka_test(test_getnameinfo test_getnameinfo.c ${CMOCKA_LIBRARY})
+add_cmocka_test(test_getnameinfo test_getnameinfo.c ${TESTSUITE_LIBRARIES})
set_property(
TEST
test_getnameinfo
PROPERTY
ENVIRONMENT ${TEST_ENVIRONMENT})
-add_cmocka_test(test_gethostby_name_addr test_gethostby_name_addr.c ${CMOCKA_LIBRARY})
+add_cmocka_test(test_gethostby_name_addr test_gethostby_name_addr.c ${TESTSUITE_LIBRARIES})
set_property(
TEST
test_gethostby_name_addr