CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(zigbee-lib C) MESSAGE(===================================================================) MESSAGE(Building...zigbee-lib) 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_internal ) MESSAGE(${CMAKE_C_FLAGS}) MESSAGE(${CMAKE_EXE_LINKER_FLAGS}) MESSAGE(${pkgs_LDFLAGS}) ### pkgconfig file ### SET(PREFIX ${CMAKE_INSTALL_PREFIX}) CONFIGURE_FILE(zigbee-lib.pc.in zigbee-lib.pc @ONLY) ### Install files ### INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/zigbee/lib) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/common/include/ DESTINATION include/zigbee/common) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zigbee-lib.pc DESTINATION ${LIBDIR}/pkgconfig) #INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT Runtime)