Let the user choose the poller to use through cmake POLLER option

Use ccmake, or cmake -i, or cmake -DPOLLER=EPOLL, for example
This commit is contained in:
Florent Le Coz
2013-11-21 00:35:15 +01:00
parent b569240a55
commit b72908548d
3 changed files with 11 additions and 4 deletions
+7 -1
View File
@@ -24,6 +24,12 @@ include_directories(${ICONV_INCLUDE_DIR})
# coming from these headers.
include_directories(SYSTEM ${CRYPTO++_INCLUDE_DIR})
set(POLLER "POLL" CACHE STRING
"Choose the poller between POLL and EPOLL (Linux-only)")
if((NOT ${POLLER} MATCHES "POLL") AND
(NOT ${POLLER} MATCHES "EPOLL"))
message(FATAL_ERROR "POLLER must be either POLL or EPOLL")
endif()
#
## utils
#
@@ -95,4 +101,4 @@ target_link_libraries(test
utils
config)
CONFIGURE_FILE(config.h.cmake src/config.h @ONLY)
configure_file(config.h.cmake src/config.h)
+1
View File
@@ -1 +1,2 @@
#cmakedefine ICONV_SECOND_ARGUMENT_IS_CONST
#cmakedefine POLLER ${POLLER}
+3 -3
View File
@@ -9,11 +9,9 @@
#define POLL 1
#define EPOLL 2
#define KQUEUE 3
#include <config.h>
#ifndef POLLER
// Default standard poller
#define POLLER EPOLL
#define POLLER POLL
#endif
#if POLLER == POLL
@@ -21,6 +19,8 @@
#define MAX_POLL_FD_NUMBER 4096
#elif POLLER == EPOLL
#include <sys/epoll.h>
#else
#error Invalid POLLER value
#endif
/**