hooks: Allow to remove hooking (and/or trace)
[src/app-framework-binder.git] / src / CMakeLists.txt
index e1a1073..eb299d2 100644 (file)
@@ -1,5 +1,5 @@
 ###########################################################################
-# Copyright (C) 2015-2018 "IoT.bzh"
+# Copyright (C) 2015-2019 "IoT.bzh"
 #
 # author: José Bollo <jose.bollo@iot.bzh>
 #
@@ -24,6 +24,25 @@ ADD_DEFINITIONS(-DBINDING_INSTALL_DIR="${binding_install_dir}")
 # Always add INFER_EXTENSION (more details in afb-hreq.c)
 ADD_DEFINITIONS(-DINFER_EXTENSION)
 
+############################################################################
+# TODO: improve below setting
+option(USE_SIG_MONITOR_DUMPSTACK "activate dump stack on error"           ON)
+option(USE_SIG_MONITOR_SIGNALS   "activate handling of signals"           ON)
+option(USE_SIG_MONITOR_FOR_CALL  "activate monitoring of calls"           ON)
+option(USE_SIG_MONITOR_TIMERS    "activate monitoring of call expiration" ON)
+option(WITH_AFB_HOOK             "include hooking"                        ON)
+option(WITH_AFB_TRACE            "include monitoring trace"               ON)
+
+add_definitions(
+  -DUSE_SIG_MONITOR_DUMPSTACK=$<BOOL:${USE_SIG_MONITOR_DUMPSTACK}>
+  -DUSE_SIG_MONITOR_SIGNALS=$<BOOL:${USE_SIG_MONITOR_SIGNALS}>
+  -DUSE_SIG_MONITOR_FOR_CALL=$<BOOL:${USE_SIG_MONITOR_FOR_CALL}>
+  -DUSE_SIG_MONITOR_TIMERS=$<BOOL:${USE_SIG_MONITOR_TIMERS}>
+  -DWITH_AFB_HOOK=$<BOOL:${WITH_AFB_HOOK}>
+  -DWITH_AFB_TRACE=$<BOOL:${WITH_AFB_TRACE}>
+)
+############################################################################
+
 SET(AFB_LIB_SOURCES
        afb-api.c
        afb-api-so.c
@@ -56,7 +75,6 @@ SET(AFB_LIB_SOURCES
        afb-session.c
        afb-socket.c
        afb-stub-ws.c
-       afb-systemd.c
        afb-trace.c
        afb-websock.c
        afb-ws-client.c
@@ -64,6 +82,7 @@ SET(AFB_LIB_SOURCES
        afb-ws.c
        afb-wsj1.c
        afb-xreq.c
+       evmgr.c
        fdev.c
        fdev-epoll.c
        fdev-systemd.c
@@ -74,7 +93,9 @@ SET(AFB_LIB_SOURCES
        process-name.c
        sig-monitor.c
        subpath.c
+       systemd.c
        verbose.c
+       watchdog.c
        websock.c
        wrap-json.c
 )
@@ -126,7 +147,7 @@ ENDIF()
 ###########################################
 # build and install libafbwsc
 ###########################################
-ADD_LIBRARY(afbwsc SHARED afb-ws.c afb-ws-client.c afb-wsj1.c websock.c afb-proto-ws.c fdev.c fdev-systemd.c)
+ADD_LIBRARY(afbwsc SHARED afb-ws.c afb-ws-client.c afb-wsj1.c websock.c afb-proto-ws.c fdev.c fdev-systemd.c verbose.c)
 SET_TARGET_PROPERTIES(afbwsc PROPERTIES
        VERSION ${LIBAFBWSC_VERSION}
        SOVERSION ${LIBAFBWSC_SOVERSION})