improves compatibility with yocto
[src/app-framework-binder.git] / src / CMakeLists.txt
1
2 INCLUDE(FindPkgConfig)
3
4 CHECK_INCLUDE_FILES(magic.h HAVE_MAGIC_H)
5 CHECK_LIBRARY_EXISTS(magic magic_load "" HAVE_LIBMAGIC_SO)
6 IF(HAVE_MAGIC_H)
7   IF(HAVE_LIBMAGIC_SO)
8     SET(HAVE_LIBMAGIC "1")
9   ENDIF(HAVE_LIBMAGIC_SO)
10 ENDIF(HAVE_MAGIC_H)
11
12 IF(NOT HAVE_LIBMAGIC)
13   MESSAGE(FATAL_ERROR "\"magic.h\" or \"libmagic.so\" missing.
14     Please install the \"file-devel\" or \"libmagic-dev\" package !")
15 ENDIF(NOT HAVE_LIBMAGIC)
16
17 PKG_CHECK_MODULES(libsystemd REQUIRED libsystemd>=222)
18 PKG_CHECK_MODULES(libmicrohttpd REQUIRED libmicrohttpd>=0.9.48)
19 PKG_CHECK_MODULES(openssl REQUIRED openssl)
20 PKG_CHECK_MODULES(uuid REQUIRED uuid)
21
22 INCLUDE_DIRECTORIES(
23         ${include_dirs}
24         ${libsystemd_INCLUDE_DIRS}
25         ${libmicrohttpd_INCLUDE_DIRS}
26         ${uuid_INCLUDE_DIRS}
27         ${openssl_INCLUDE_DIRS}
28 )
29
30 ADD_LIBRARY(afb-lib STATIC
31         afb-api-dbus.c
32         afb-api-so.c
33         afb-apis.c
34         afb-common.c
35         afb-context.c
36         afb-hreq.c
37         afb-hsrv.c
38         afb-hswitch.c
39         afb-method.c
40         afb-msg-json.c
41         afb-sig-handler.c
42         afb-websock.c
43         afb-ws-client.c
44         afb-ws-json1.c
45         afb-ws.c
46         afb-wsj1.c
47         session.c
48         verbose.c
49         websock.c
50 )
51
52 ADD_EXECUTABLE(afb-daemon main.c)
53 TARGET_LINK_LIBRARIES(afb-daemon
54         afb-lib
55         ${link_libraries}
56         ${libsystemd_LIBRARIES}
57         ${libmicrohttpd_LIBRARIES}
58         ${uuid_LIBRARIES}
59         ${openssl_LIBRARIES}
60         -lmagic
61         -ldl
62         -lrt
63 )
64 INSTALL(TARGETS afb-daemon
65         RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
66
67 ADD_EXECUTABLE(afb-client-demo afb-client-demo.c)
68 TARGET_LINK_LIBRARIES(afb-client-demo
69         afb-lib
70         ${link_libraries}
71         ${libsystemd_LIBRARIES}
72 )
73 INSTALL(TARGETS afb-client-demo
74         RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})