owlps/owlps-listener/CMakeLists.txt

96 lines
2.6 KiB
CMake
Raw Normal View History

2013-05-18 20:28:41 +02:00
### Options ###
option(OWLPS_LISTENER_USES_CONFIG_FILE
"Enable support for configuration files"
on)
option(OWLPS_LISTENER_USES_PTHREAD
"Enable support for POSIX threads (mandatory for the autocalibration)"
on)
option(OWLPS_LISTENER_KEEPS_MONITOR
"Enable -K (keep monitor mode on); requires POSIX threads support"
off)
configure_file(
owlps-listener-config.h.in
"${GENERATED_INCLUDE}/owlps-listener-config.h")
### Linked libraries ###
# Make sure the pcap library is installed
find_package(Pcap)
if (NOT PCAP_FOUND)
message(WARNING
"OwlPS Listener dependency missing: libPcap")
return()
endif()
include_directories(${PCAP_INCLUDE_DIRS})
set(EXTRA_LIBS ${EXTRA_LIBS} ${PCAP_LIBRARY})
2013-05-18 19:39:36 +02:00
2013-05-18 20:28:41 +02:00
if (OWLPS_LISTENER_USES_CONFIG_FILE)
if (CONFUSE_FOUND)
include_directories(${CONFUSE_INCLUDE_DIR})
set(EXTRA_LIBS ${EXTRA_LIBS} ${CONFUSE_LIBRARY})
else()
message(WARNING
"Confuse is not available: disabling OWLPS_LISTENER_USES_CONFIG_FILE")
set(OWLPS_LISTENER_USES_CONFIG_FILE off CACHE BOOL
"No libConfuse: disable OWLPS_LISTENER_USES_CONFIG_FILE" FORCE)
endif()
2013-05-18 20:28:41 +02:00
endif()
if (OWLPS_LISTENER_USES_PTHREAD)
if (HAVE_PTHREADS)
set(EXTRA_LIBS ${EXTRA_LIBS} ${CMAKE_THREAD_LIBS_INIT})
else()
message(WARNING
"POSIX threads are not available: disabling OWLPS_LISTENER_USES_PTHREAD")
set(OWLPS_LISTENER_USES_PTHREAD off CACHE BOOL
"No pthreads: disable OWLPS_LISTENER_USES_PTHREAD" FORCE)
endif()
2013-05-18 20:28:41 +02:00
endif()
### Targets ###
2013-05-18 19:39:36 +02:00
add_executable(owlps-listenerd owlps-listenerd.c)
target_link_libraries(owlps-listenerd
libowlps.so
libowlps-client.so
${EXTRA_LIBS})
2013-05-20 03:45:06 +02:00
install(
TARGETS owlps-listenerd
DESTINATION bin)
2013-05-18 19:39:36 +02:00
add_executable(owlps-listenerd.semistatic EXCLUDE_FROM_ALL
owlps-listenerd.c)
2013-05-18 19:39:36 +02:00
target_link_libraries(owlps-listenerd.semistatic
libowlps.a
libowlps-client.a
${EXTRA_LIBS})
# Add the semistatic target to the global list of semistatic targets
list(APPEND OWLPS_SEMISTATIC_TARGETS owlps-listenerd.semistatic)
set(OWLPS_SEMISTATIC_TARGETS ${OWLPS_SEMISTATIC_TARGETS} PARENT_SCOPE)
add_executable(owlps-listenerd.static EXCLUDE_FROM_ALL
owlps-listenerd.c)
set_target_properties(owlps-listenerd.static
PROPERTIES LINK_FLAGS -static)
target_link_libraries(owlps-listenerd.static
libowlps.a
libowlps-client.a
${EXTRA_LIBS})
# Add the static target to the global list of static targets
list(APPEND OWLPS_STATIC_TARGETS owlps-listenerd.static)
set(OWLPS_STATIC_TARGETS ${OWLPS_STATIC_TARGETS} PARENT_SCOPE)
# Add compile flags for the above targets
set_target_properties(
owlps-listenerd
owlps-listenerd.semistatic
owlps-listenerd.static
PROPERTIES COMPILE_FLAGS ${EXE_FLAGS})