Remove -Wextra to fix gcc9 build errors in gdbus generated code
[platform/core/connectivity/zigbee-manager.git] / zigbee-client / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(zigbee-client C)
3
4 MESSAGE(===================================================================)
5 MESSAGE(Building...zigbee-client)
6 MESSAGE(===================================================================)
7
8 ### Set required packages ###
9 INCLUDE(FindPkgConfig)
10 pkg_check_modules(pkgs REQUIRED glib-2.0 dlog)
11
12 FOREACH(flag ${pkgs_CFLAGS})
13         MESSAGE(flag-${flag})
14         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
15         MESSAGE(EXTRA_CFLAGS-${EXTRA_CFLAGS})
16 ENDFOREACH(flag)
17
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS}  -Wl,-zdefs -fvisibility=hidden ")
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wno-unused-parameter -Wno-missing-field-initializers -Wmissing-declarations -Wredundant-decls -Wcast-align")
20 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
21
22 ### Include directories ###
23 INCLUDE_DIRECTORIES(
24         ${CMAKE_SOURCE_DIR}/common/include
25         ${CMAKE_CURRENT_SOURCE_DIR}
26         ${CMAKE_CURRENT_SOURCE_DIR}/src
27         ${CMAKE_CURRENT_SOURCE_DIR}/include
28         ${CMAKE_CURRENT_SOURCE_DIR}/include_private
29 )
30
31 MESSAGE(${CMAKE_C_FLAGS})
32 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
33 MESSAGE(${pkgs_LDFLAGS})
34
35 ### Build Sources ###
36 SET(SRCS
37         src/zigbee_client.c
38         src/zigbee_log.c
39 )
40
41 ### Add Library - zigbee-client ###
42 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
43 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
44 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION 0.0.0 SOVERSION 0 OUTPUT_NAME ${PROJECT_NAME})
45
46 ### pkgconfig file ###
47 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
48 CONFIGURE_FILE(zigbee-client.pc.in zigbee-client.pc @ONLY)
49
50 ### Install files ###
51 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/zigbee/client)
52 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/common/include/ DESTINATION include/zigbee/common)
53 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zigbee-client.pc DESTINATION ${LIBDIR}/pkgconfig)
54 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR} COMPONENT Runtime)
55 IF (TIZEN_ENGINEER_MODE)
56 ADD_SUBDIRECTORY(test_src)
57 ENDIF (TIZEN_ENGINEER_MODE)