1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 MESSAGE(===================================================================)
5 MESSAGE(Building...zigbee-lib)
6 MESSAGE(===================================================================)
8 ### Set required packages ###
10 pkg_check_modules(pkgs REQUIRED glib-2.0 dlog)
12 FOREACH(flag ${pkgs_CFLAGS})
14 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
15 MESSAGE(EXTRA_CFLAGS-${EXTRA_CFLAGS})
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs -fvisibility=hidden ")
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -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")
22 ### 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_internal
31 MESSAGE(${CMAKE_C_FLAGS})
32 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
33 MESSAGE(${pkgs_LDFLAGS})
35 ### pkgconfig file ###
36 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
37 CONFIGURE_FILE(zigbee-lib.pc.in zigbee-lib.pc @ONLY)
40 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/zigbee/lib)
41 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/common/include/ DESTINATION include/zigbee/common)
42 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zigbee-lib.pc DESTINATION lib/pkgconfig)
43 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME zigbee-lib)
44 #INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT Runtime)