CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(zigbee-client C) MESSAGE(===================================================================) MESSAGE(Building...zigbee-client) MESSAGE(===================================================================) ### Set required packages ### INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED glib-2.0 dlog) FOREACH(flag ${pkgs_CFLAGS}) MESSAGE(flag-${flag}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") MESSAGE(EXTRA_CFLAGS-${EXTRA_CFLAGS}) ENDFOREACH(flag) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs -fvisibility=hidden ") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wmissing-declarations -Wredundant-decls -Wcast-align") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") ### Include directories ### INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/common/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include_private ) MESSAGE(${CMAKE_C_FLAGS}) MESSAGE(${CMAKE_EXE_LINKER_FLAGS}) MESSAGE(${pkgs_LDFLAGS}) ### Build Sources ### SET(SRCS src/zigbee_client.c src/zigbee_log.c ) ### Add Library - zigbee-client ### ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION 0.0.0 SOVERSION 0 OUTPUT_NAME ${PROJECT_NAME}) ### pkgconfig file ### SET(PREFIX ${CMAKE_INSTALL_PREFIX}) CONFIGURE_FILE(zigbee-client.pc.in zigbee-client.pc @ONLY) ### Install files ### INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/zigbee/client) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/common/include/ DESTINATION include/zigbee/common) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zigbee-client.pc DESTINATION lib/pkgconfig) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME zigbee-client) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT Runtime) IF (TIZEN_ENGINEER_MODE) ADD_SUBDIRECTORY(test_src) ENDIF (TIZEN_ENGINEER_MODE)