+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
+set(USE_SIG_MONITOR_DUMPSTACK ON CACHE BOOL "activate dump stack on error")
+set(USE_SIG_MONITOR_SIGNALS ON CACHE BOOL "activate handling of signals")
+set(USE_SIG_MONITOR_FOR_CALL ON CACHE BOOL "activate monitoring of calls")
+set(USE_SIG_MONITOR_TIMERS ON CACHE BOOL "activate monitoring of call expiration")
+
+if(USE_SIG_MONITOR_DUMPSTACK)
+ add_definitions(-DUSE_SIG_MONITOR_DUMPSTACK=1)
+else()
+ add_definitions(-DUSE_SIG_MONITOR_DUMPSTACK=0)
+endif()
+if(USE_SIG_MONITOR_SIGNALS)
+ add_definitions(-DUSE_SIG_MONITOR_SIGNALS=1)
+else()
+ add_definitions(-DUSE_SIG_MONITOR_SIGNALS=0)
+endif()
+if(USE_SIG_MONITOR_FOR_CALL)
+ add_definitions(-DUSE_SIG_MONITOR_FOR_CALL=1)
+else()
+ add_definitions(-DUSE_SIG_MONITOR_FOR_CALL=0)
+endif()
+if(USE_SIG_MONITOR_TIMERS)
+ add_definitions(-DUSE_SIG_MONITOR_TIMERS=1)
+else()
+ add_definitions(-DUSE_SIG_MONITOR_TIMERS=0)
+endif()
+############################################################################
+
+SET(AFB_LIB_SOURCES
+ afb-api.c
+ afb-api-so.c
+ afb-api-so-v2.c
+ afb-api-so-v3.c
+ afb-api-so-vdyn.c
+ afb-api-v3.c
+ afb-api-ws.c
+ afb-apiset.c
+ afb-auth.c
+ afb-autoset.c
+ afb-calls.c
+ afb-common.c
+ afb-config.c
+ afb-context.c
+ afb-cred.c
+ afb-debug.c
+ afb-evt.c
+ afb-export.c
+ afb-fdev.c
+ afb-hook.c
+ afb-hook-flags.c
+ afb-hreq.c
+ afb-hsrv.c
+ afb-hswitch.c
+ afb-method.c
+ afb-monitor.c
+ afb-msg-json.c
+ afb-proto-ws.c
+ afb-session.c
+ afb-socket.c
+ afb-stub-ws.c
+ afb-trace.c
+ afb-websock.c
+ afb-ws-client.c
+ afb-ws-json1.c
+ afb-ws.c
+ afb-wsj1.c
+ afb-xreq.c
+ evmgr.c
+ fdev.c
+ fdev-epoll.c
+ fdev-systemd.c
+ globset.c
+ jobs.c
+ locale-root.c
+ pearson.c
+ process-name.c
+ sig-monitor.c
+ subpath.c
+ systemd.c
+ verbose.c
+ watchdog.c
+ websock.c
+ wrap-json.c
+)
+
+IF(INCLUDE_LEGACY_BINDING_V1)
+ ADD_DEFINITIONS(-DWITH_LEGACY_BINDING_V1)
+ SET(AFB_LIB_SOURCES ${AFB_LIB_SOURCES} afb-api-so-v1.c)
+ENDIF(INCLUDE_LEGACY_BINDING_V1)
+IF(INCLUDE_LEGACY_BINDING_VDYN)
+ ADD_DEFINITIONS(-DWITH_LEGACY_BINDING_VDYN)
+ SET(AFB_LIB_SOURCES ${AFB_LIB_SOURCES} afb-api-so-vdyn.c)
+ENDIF(INCLUDE_LEGACY_BINDING_VDYN)
+
+IF(INCLUDE_DBUS_TRANSPARENCY)
+ ADD_DEFINITIONS(-DWITH_DBUS_TRANSPARENCY)
+ SET(AFB_LIB_SOURCES ${AFB_LIB_SOURCES} afb-api-dbus.c)
+ENDIF()
+IF(INCLUDE_SUPERVISOR)
+ ADD_DEFINITIONS(-DWITH_SUPERVISION)
+ SET(AFB_LIB_SOURCES ${AFB_LIB_SOURCES} afb-supervision.c)
+ENDIF()
+
+ADD_LIBRARY(afb-lib STATIC ${AFB_LIB_SOURCES})
+
+###########################################
+# build and install afb-daemon
+###########################################
+ADD_EXECUTABLE(afb-daemon main-afb-daemon.c)
+TARGET_LINK_LIBRARIES(afb-daemon
+ afb-lib
+ ${link_libraries}
+)