CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(capi-network-ua C CXX) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(INC_DIR include) INCLUDE_DIRECTORIES(${INC_DIR}) INCLUDE(FindPkgConfig) SET(PKG_MODULES dlog glib-2.0 gio-2.0 ua-api ) IF (SUSPEND_RESUME_TEST) pkg_check_modules (PKGS REQUIRED ${PKG_MODULES} deviced power-defs ) ELSE (SUSPEND_RESUME_TEST) pkg_check_modules (PKGS REQUIRED ${PKG_MODULES}) ENDIF (SUSPEND_RESUME_TEST) INCLUDE_DIRECTORIES(${PKGS_INCLUDE_DIRS}) LINK_DIRECTORIES(${PKGS_LIBRARY_DIRS}) FOREACH(flag ${PKGS_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror") IF(BUILD_GCOV) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") ENDIF(BUILD_GCOV) SET(LIB_NAME "${PROJECT_NAME}") SET(LIB_PREFIX ${CMAKE_INSTALL_PREFIX}) SET(LIB_DIR "${LIB_PATH}") SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include") SET(LIB_PKGCONFIG_DIR "${LIB_PATH}/pkgconfig") SET(SRCS src/user-awareness-device.c src/user-awareness-service.c src/user-awareness-monitors.c src/user-awareness-users.c src/user-awareness-util.c src/user-awareness-event-handler.c ) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) ADD_LIBRARY(${LIB_NAME} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS}) SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${FULLVER} SOVERSION ${MAJORVER} CLEAN_DIRECT_OUTPUT 1 ) INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR}) INSTALL( DIRECTORY ${INC_DIR}/ DESTINATION ${LIB_INCLUDE_DIR} FILES_MATCHING PATTERN "${INC_DIR}/user-awareness.h" PATTERN "${INC_DIR}/user-awareness-internal.h" ) SET(PC_NAME ${LIB_NAME}) SET(PC_REQUIRED ${pc_dependents}) SET(PC_LDFLAGS -l${LIB_NAME}) CONFIGURE_FILE( ${LIB_NAME}.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc @ONLY ) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR}) ADD_SUBDIRECTORY(test)