1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(zigbee-interface C)
4 MESSAGE(===================================================================)
5 MESSAGE(Building...zigbee-interface)
6 MESSAGE(===================================================================)
8 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
9 SET(EXEC_PREFIX "\${prefix}")
10 SET(LIBDIR ${LIB_INSTALL_DIR})
11 SET(UNITDIR ${UNIT_INSTALL_DIR})
12 SET(INCLUDEDIR "\${prefix}/include")
14 # Set required packages
15 INCLUDE(FindPkgConfig)
16 pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 dlog)
18 FOREACH(flag ${pkgs_CFLAGS})
19 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
22 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wall -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
23 #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wall -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align -Wcast-qual -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
25 ##Address-Space Layout Randomization
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
27 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
29 ADD_DEFINITIONS("-DZIGBEE_LOG_TAG=\"ZIGBEE-SVC\"")
31 IF (TIZEN_DEBUG_ENABLE)
32 ADD_DEFINITIONS ("-DTIZEN_DEBUG_ENABLE")
33 ENDIF (TIZEN_DEBUG_ENABLE)
35 MESSAGE(${CMAKE_C_FLAGS})
36 MESSAGE(${pkgs_LDFLAGS})
38 ### Include directories ###
40 ${CMAKE_CURRENT_SOURCE_DIR}/src
41 ${CMAKE_CURRENT_SOURCE_DIR}/include
42 ${CMAKE_CURRENT_BINARY_DIR}/
43 ${CMAKE_CURRENT_SOURCE_DIR}/../zigbee-lib/include
44 ${CMAKE_SOURCE_DIR}/common/include
45 ${CMAKE_CURRENT_SOURCE_DIR}/../zigbee-service/include
48 SET(INTROSPECTION_PATH ${CMAKE_CURRENT_SOURCE_DIR}/introspection)
50 ### Generate GDBus .c/.h ###
53 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zigbee_generated_code.c
55 --interface-prefix org.tizen.zigbee.
56 --generate-c-code zigbee_generated_code
58 --c-generate-object-manager --generate-docbook zigbee-generated-docs
59 ${INTROSPECTION_PATH}/manager.xml
60 ${INTROSPECTION_PATH}/service.xml
61 ${INTROSPECTION_PATH}/on_off.xml
62 ${INTROSPECTION_PATH}/door_lock.xml
63 ${INTROSPECTION_PATH}/level_control.xml
64 ${INTROSPECTION_PATH}/thermostat.xml
65 ${INTROSPECTION_PATH}/fan_control.xml
66 ${INTROSPECTION_PATH}/alarm.xml
67 ${INTROSPECTION_PATH}/mfglib_control.xml
68 ${INTROSPECTION_PATH}/zclglobal_control.xml
69 ${INTROSPECTION_PATH}/zdodev_control.xml
70 ${INTROSPECTION_PATH}/zclbasic_control.xml
71 ${INTROSPECTION_PATH}/zclidentify_control.xml
72 ${INTROSPECTION_PATH}/zclias_control.xml
73 ${INTROSPECTION_PATH}/zcl_poll_control.xml
74 ${INTROSPECTION_PATH}/zcl_group.xml
75 ${INTROSPECTION_PATH}/zcl_scene.xml
76 ${INTROSPECTION_PATH}/zdo_bind.xml
77 ${INTROSPECTION_PATH}/zcl_color.xml
78 ${INTROSPECTION_PATH}/custom.xml
79 COMMENT "Generating ZigBee GDBus .c/.h"
83 SET(ZIGBEE_INTERFACE_SRCS
84 ${CMAKE_CURRENT_BINARY_DIR}/zigbee_generated_code.c
85 src/zigbee_service_interface.c
86 src/zigbee_service_interface_common.c
87 src/zigbee_service_dbus_interface.c
88 src/zigbee_service_dbus_interface_alarm.c
89 src/zigbee_service_dbus_interface_custom.c
90 src/zigbee_service_dbus_interface_door_lock.c
91 src/zigbee_service_dbus_interface_fan_control.c
92 src/zigbee_service_dbus_interface_level_control.c
93 src/zigbee_service_dbus_interface_mfglib_control.c
94 src/zigbee_service_dbus_interface_on_off.c
95 src/zigbee_service_dbus_interface_service.c
96 src/zigbee_service_dbus_interface_thermostat.c
97 src/zigbee_service_dbus_interface_zclbasic_control.c
98 src/zigbee_service_dbus_interface_zcl_color.c
99 src/zigbee_service_dbus_interface_zclglobal_control.c
100 src/zigbee_service_dbus_interface_zcl_group.c
101 src/zigbee_service_dbus_interface_zclias_control.c
102 src/zigbee_service_dbus_interface_zclidentify_control.c
103 src/zigbee_service_dbus_interface_zcl_poll_control.c
104 src/zigbee_service_dbus_interface_zcl_scene.c
105 src/zigbee_service_dbus_interface_zdo_bind.c
106 src/zigbee_service_dbus_interface_zdodev_control.c
110 ### zigbee-service ###
111 ADD_LIBRARY(${PROJECT_NAME} ${ZIGBEE_INTERFACE_SRCS})
112 TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${pkgs_LDFLAGS})
114 ### Install files ###
115 #INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT Runtime)