Remove .so from lib package
[platform/core/api/batterymonitor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(capi-system-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         capi-appfw-app-manager
17 )
18
19 ADD_CUSTOM_COMMAND(
20         WORKING_DIRECTORY
21         OUTPUT battery-monitor-stub.c
22         COMMAND gdbus-codegen --interface-prefix org.tizen.
23         --generate-c-code battery-monitor-stub ./packaging/battery-monitor.xml
24         COMMENT "Generating Battery-Monitor Client  GDBus .c/.h")
25
26 INCLUDE_DIRECTORIES(${PKGS_INCLUDE_DIRS})
27 LINK_DIRECTORIES(${PKGS_LIBRARY_DIRS})
28
29 FOREACH(flag ${PKGS_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
34 SET(LIB_NAME "${PROJECT_NAME}")
35 SET(LIB_PREFIX ${CMAKE_INSTALL_PREFIX})
36 SET(LIB_DIR "${LIB_PATH}")
37 SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include")
38 SET(LIB_PKGCONFIG_DIR "${LIB_PATH}/pkgconfig")
39
40 SET(SRCS
41         ./battery-monitor-stub.c
42         src/battery_monitor.c
43         src/battery_monitor_util.c
44 )
45
46 INCLUDE_DIRECTORIES(${INC_DIR})
47 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
48
49 ADD_LIBRARY(${LIB_NAME} SHARED ${SRCS})
50 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
51
52 SET_TARGET_PROPERTIES(${LIB_NAME}
53         PROPERTIES
54         VERSION ${FULLVER}
55         SOVERSION ${MAJORVER}
56         CLEAN_DIRECT_OUTPUT 1
57 )
58
59 INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR})
60 INSTALL(
61         DIRECTORY ${INC_DIR}/ DESTINATION ${LIB_INCLUDE_DIR}/system
62         FILES_MATCHING
63         PATTERN "${INC_DIR}/battery_monitor.h"
64 )
65
66 SET(PC_NAME ${LIB_NAME})
67 SET(PC_REQUIRED ${pc_dependents})
68 SET(PC_LDFLAGS -l${LIB_NAME})
69
70 CONFIGURE_FILE(
71         ${LIB_NAME}.pc.in
72         ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc
73         @ONLY
74 )
75 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR})
76
77 ADD_SUBDIRECTORY(test)