-SET(AFB-DAEMON_HEADERS local-def.h proto-def.h)
-SET(AFB-DAEMON_SOURCES main.c config.c session.c http-svc.c afbs-api.c dbus-api.c rest-api.c alsa-api.c)
-IF(librtlsdr_FOUND)
- ADD_DEFINITIONS(-DWITH_RADIO_PLUGIN=1)
- SET(AFB-DAEMON_SOURCES ${AFB-DAEMON_SOURCES} radio-api.c)
-ENDIF(librtlsdr_FOUND)
+ADD_LIBRARY(afb-lib OBJECT
+ afb-api-dbus.c
+ afb-api-so.c
+ afb-apis.c
+ afb-common.c
+ afb-context.c
+ afb-hreq.c
+ afb-hsrv.c
+ afb-hswitch.c
+ afb-method.c
+ afb-msg-json.c
+ afb-sig-handler.c
+ afb-websock.c
+ afb-ws-client.c
+ afb-ws-json1.c
+ afb-ws.c
+ afb-wsj1.c
+ session.c
+ verbose.c
+ websock.c
+)
-ADD_EXECUTABLE(afb-daemon ${AFB-DAEMON_SOURCES})
-include_directories(${include_dirs})
-target_link_libraries(afb-daemon ${link_libraries})
+INCLUDE_DIRECTORIES(${include_dirs})
+
+ADD_EXECUTABLE(afb-daemon $<TARGET_OBJECTS:afb-lib> main.c)
+INCLUDE_DIRECTORIES(${include_dirs})
+TARGET_LINK_LIBRARIES(afb-daemon ${link_libraries})
+
+ADD_EXECUTABLE(afb-client-demo $<TARGET_OBJECTS:afb-lib> afb-client-demo.c)
+INCLUDE_DIRECTORIES(${include_dirs})
+TARGET_LINK_LIBRARIES(afb-client-demo ${link_libraries})
INSTALL(TARGETS afb-daemon
- RUNTIME DESTINATION bin)
+ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})