added remarks & see section in API description banner
[platform/core/api/batterymonitor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(capi-battery-monitor)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5
6 SET(INC_DIR include)
7 INCLUDE_DIRECTORIES(${INC_DIR})
8
9 INCLUDE(FindPkgConfig)
10 pkg_check_modules(PKGS REQUIRED
11         dlog
12         glib-2.0
13         gio-unix-2.0
14         libtzplatform-config
15         capi-system-info
16 )
17
18 ADD_CUSTOM_COMMAND(
19         WORKING_DIRECTORY
20         OUTPUT battery-monitor-stub.c
21         COMMAND gdbus-codegen --interface-prefix org.tizen.
22         --generate-c-code battery-monitor-stub ./packaging/battery-monitor.xml
23         COMMENT "Generating Battery-Monitor Client  GDBus .c/.h")
24
25 INCLUDE_DIRECTORIES(${PKGS_INCLUDE_DIRS})
26 LINK_DIRECTORIES(${PKGS_LIBRARY_DIRS})
27
28 FOREACH(flag ${PKGS_CFLAGS})
29         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
30 ENDFOREACH(flag)
31
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
33 SET(LIB_NAME "${PROJECT_NAME}")
34 SET(LIB_PREFIX ${CMAKE_INSTALL_PREFIX})
35 SET(LIB_DIR "${LIB_PATH}")
36 SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include")
37 SET(LIB_PKGCONFIG_DIR "${LIB_PATH}/pkgconfig")
38
39 SET(SRCS
40         ./battery-monitor-stub.c
41         src/battery_monitor.c
42         src/battery_monitor_util.c
43 )
44
45 INCLUDE_DIRECTORIES(${INC_DIR})
46 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
47
48 ADD_LIBRARY(${LIB_NAME} SHARED ${SRCS})
49 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
50
51 SET_TARGET_PROPERTIES(${LIB_NAME}
52         PROPERTIES
53         VERSION ${FULLVER}
54         SOVERSION ${MAJORVER}
55         CLEAN_DIRECT_OUTPUT 1
56 )
57
58 INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR})
59 INSTALL(
60         DIRECTORY ${INC_DIR}/ DESTINATION ${LIB_INCLUDE_DIR}
61         FILES_MATCHING
62         PATTERN "${INC_DIR}/battery_monitor.h"
63 )
64
65 SET(PC_NAME ${LIB_NAME})
66 SET(PC_REQUIRED ${pc_dependents})
67 SET(PC_LDFLAGS -l${LIB_NAME})
68
69 CONFIGURE_FILE(
70         ${LIB_NAME}.pc.in
71         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc
72         @ONLY
73 )
74 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR})
75
76 ADD_SUBDIRECTORY(test)