CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(capi-battery-monitor) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(INC_DIR include) INCLUDE_DIRECTORIES(${INC_DIR}) INCLUDE(FindPkgConfig) pkg_check_modules(PKGS REQUIRED dlog glib-2.0 gio-unix-2.0 libtzplatform-config capi-system-info ) ADD_CUSTOM_COMMAND( WORKING_DIRECTORY OUTPUT battery-monitor-stub.c COMMAND gdbus-codegen --interface-prefix org.tizen. --generate-c-code battery-monitor-stub ./packaging/battery-monitor.xml COMMENT "Generating Battery-Monitor Client GDBus .c/.h") 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") 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 ./battery-monitor-stub.c src/battery_monitor.c src/battery_monitor_util.c ) INCLUDE_DIRECTORIES(${INC_DIR}) 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}/battery_monitor.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)