diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index dd3a313..8c69d3a 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -19,16 +19,30 @@ if (LIBEV) TARGET_LINK_LIBRARIES(example-libev hiredis ev) ENDIF() -FIND_PATH(LIBEVENT event.h) -if (LIBEVENT) +FIND_PACKAGE(Libevent CONFIG REQUIRED) +FIND_PATH(LIBEVENT_INCLUDES evutil.h) +if (BUILD_SHARED_LIBS) + set(LIBEVENT_LIBS ${LIBEVENT_SHARED_LIBRARIES}) +else() + set(LIBEVENT_LIBS ${LIBEVENT_STATIC_LIBRARIES}) +endif() +if (UNIX) ADD_EXECUTABLE(example-libevent example-libevent) - TARGET_LINK_LIBRARIES(example-libevent hiredis event) + TARGET_LINK_LIBRARIES(example-libevent hiredis ${LIBEVENT_LIBS}) + TARGET_INCLUDE_DIRECTORIES(example-libevent PRIVATE ${LIBEVENT_INCLUDES}) ENDIF() +FIND_LIBRARY(UV_LIBRARY libuv) FIND_PATH(LIBUV uv.h) IF (LIBUV) ADD_EXECUTABLE(example-libuv example-libuv.c) - TARGET_LINK_LIBRARIES(example-libuv hiredis uv) + if(WIN32) + set(LIB_LISTS Iphlpapi.lib Psapi.lib Userenv.lib) + else() + set(LIB_LISTS) + endif() + TARGET_LINK_LIBRARIES(example-libuv hiredis ${UV_LIBRARY} ${LIB_LISTS}) + TARGET_INCLUDE_DIRECTORIES(example-libuv PRIVATE ${LIBUV}) ENDIF() IF (APPLE) @@ -38,9 +52,21 @@ IF (APPLE) ENDIF() IF (ENABLE_SSL) + FIND_PACKAGE(OpenSSL REQUIRED) + IF (WIN32) + FIND_PACKAGE(pthreads REQUIRED) + SET(THREADS_LIBS PThreads4W::PThreads4W) + ELSE() + FIND_PACKAGE(Threads) + SET(THREADS_LIBS ${CMAKE_THREAD_LIBS_INIT}) + ENDIF() ADD_EXECUTABLE(example-ssl example-ssl.c) - TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl) + if(WIN32) + TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl OpenSSL::SSL OpenSSL::Crypto ${THREADS_LIBS} crypt32.lib) + else() + TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl OpenSSL::SSL OpenSSL::Crypto ${THREADS_LIBS}) + endif() ENDIF() ADD_EXECUTABLE(example example.c) -TARGET_LINK_LIBRARIES(example hiredis) +TARGET_LINK_LIBRARIES(example hiredis ${LIBEVENT_LIBS}) diff --git a/examples/example-libuv.c b/examples/example-libuv.c index a5462d4..9b7ca3e 100644 --- a/examples/example-libuv.c +++ b/examples/example-libuv.c @@ -33,7 +33,9 @@ void disconnectCallback(const redisAsyncContext *c, int status) { } int main (int argc, char **argv) { +#ifndef _WIN32 signal(SIGPIPE, SIG_IGN); +#endif uv_loop_t* loop = uv_default_loop(); redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379); diff --git a/examples/example-ssl.c b/examples/example-ssl.c index 81f4648..9f42923 100644 --- a/examples/example-ssl.c +++ b/examples/example-ssl.c @@ -1,6 +1,10 @@ #include #include #include +#ifdef _WIN32 +#include +#include +#endif #include #include diff --git a/examples/example.c b/examples/example.c index 0e93fc8..339e322 100644 --- a/examples/example.c +++ b/examples/example.c @@ -1,6 +1,10 @@ #include #include #include +#ifdef _WIN32 +#include +#include +#endif #include