PROJECT(eurephia-plugin C) cmake_minimum_required(VERSION 2.6) SET(eurephia_auth_SRC eurephia-auth.c eurephia.c eurephiadb_session.c firewall/eurephiafw.c firewall/eurephiafw_helpers.c ../common/eurephiadb_session_common.c ) SET(subdirs "") IF(FW_IPTABLES) message(STATUS "Will build iptables firewall module") SET(subdirs firewall/iptables) ENDIF(FW_IPTABLES) IF(ENABLE_EUREPHIADM) REMOVE_DEFINITIONS(-DENABLE_EUREPHIADM) ENDIF(ENABLE_EUREPHIADM) CHECK_LIBRARY_EXISTS(rt sem_wait "" HAVE_RT_SEM_WAIT) CHECK_LIBRARY_EXISTS(rt sem_timedwait "" HAVE_RT_SEM_TIMEDWAIT) CHECK_LIBRARY_EXISTS(rt sem_post "" HAVE_RT_SEM_POST) CHECK_LIBRARY_EXISTS(rt mq_open "" HAVE_RT_MQ_OPEN) CHECK_LIBRARY_EXISTS(rt mq_close "" HAVE_RT_MQ_CLOSE) CHECK_LIBRARY_EXISTS(rt mq_unlink "" HAVE_RT_MQ_UNLINK) CHECK_LIBRARY_EXISTS(rt mq_send "" HAVE_RT_MQ_SEND) CHECK_LIBRARY_EXISTS(rt mq_receive "" HAVE_RT_MQ_RECEIVE) CHECK_LIBRARY_EXISTS(rt mq_getattr "" HAVE_RT_MQ_GETATTR) IF(NOT HAVE_RT_SEM_WAIT OR NOT HAVE_RT_SEM_TIMEDWAIT OR NOT HAVE_RT_SEM_POST) message(FATAL_ERROR "Missing proper pthread semaphore support") ENDIF(NOT HAVE_RT_SEM_WAIT OR NOT HAVE_RT_SEM_TIMEDWAIT OR NOT HAVE_RT_SEM_POST) IF(NOT HAVE_RT_MQ_OPEN OR NOT HAVE_RT_MQ_CLOSE OR NOT HAVE_RT_MQ_UNLINK OR NOT HAVE_RT_MQ_SEND OR NOT HAVE_RT_MQ_RECEIVE OR NOT HAVE_RT_MQ_GETATTR) message(FATAL_ERROR "Missing proper pthread message queue support") ENDIF(NOT HAVE_RT_MQ_OPEN OR NOT HAVE_RT_MQ_CLOSE OR NOT HAVE_RT_MQ_UNLINK OR NOT HAVE_RT_MQ_SEND OR NOT HAVE_RT_MQ_RECEIVE OR NOT HAVE_RT_MQ_GETATTR) INCLUDE_DIRECTORIES(../common ../database ./firewall .) ADD_LIBRARY(eurephia-auth MODULE ${eurephia_auth_SRC}) TARGET_LINK_LIBRARIES(eurephia-auth dl pthread rt crypto common) SET_TARGET_PROPERTIES(eurephia-auth PROPERTIES OUTPUT_NAME eurephia-auth PREFIX "") INSTALL(TARGETS eurephia-auth LIBRARY DESTINATION ${PLUGINDIR}) IF(subdirs) ADD_SUBDIRECTORY(${subdirs}) ENDIF(subdirs)