Fix build breaks
[platform/core/appfw/badge.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(badge C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(PROJECT_NAME "${PROJECT_NAME}")
7 SET(LIBDIR ${LIB_INSTALL_DIR})
8 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
9 SET(DBDIR "/opt/dbspace")
10 SET(DBFILE ".${PROJECT_NAME}.db")
11 SET(DBPATH "${DBDIR}/${DBFILE}")
12 SET(VERSION_MAJOR 0)
13 SET(VERSION "${VERSION_MAJOR}.0.1")
14
15 SET(CMAKE_SKIP_BUILD_RPATH true)
16
17 SET(INSTALL_HEADERS_DEVEL
18         badge.h
19         badge_error.h
20         badge_internal.h
21 )
22
23 SET(INSTALL_HEADERS_SERVICE_DEVEL
24         badge_setting_service.h
25         badge_db.h
26 )
27
28 SET(SRCS
29         src/badge.c
30         src/badge_setting.c
31         src/badge_db.c
32         src/badge_ipc.c
33         src/badge_internal.c
34 )
35
36 SET(SUBMODULES_SO
37         badge
38 )
39 SET(SUBMODULES_DEVEL
40         badge
41         badge-service
42 )
43 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
44
45 INCLUDE(FindPkgConfig)
46 pkg_check_modules(pkgs REQUIRED
47         aul
48         dlog
49         dbus-1
50         dbus-glib-1
51         vconf
52         com-core
53         capi-appfw-package-manager
54         db-util
55 )
56
57 FOREACH(flag ${pkgs_CFLAGS})
58         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
59 ENDFOREACH(flag)
60
61 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -g -Wall -O2")
62
63 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
64
65 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
66 ADD_DEFINITIONS("-DBADGE_USE_DLOG")
67 ADD_DEFINITIONS("-DDBDIR=\"${DBDIR}\"")
68 ADD_DEFINITIONS("-DDBFILE=\"${DBFILE}\"")
69 ADD_DEFINITIONS("-DBADGE_DB_PATH=\"${DBPATH}\"")
70
71 FOREACH(lib_file ${SUBMODULES_SO})
72         ADD_LIBRARY(${lib_file} SHARED ${SRCS})
73         TARGET_LINK_LIBRARIES(${lib_file} ${pkgs_LDFLAGS})
74         SET_TARGET_PROPERTIES(${lib_file} PROPERTIES SOVERSION ${VERSION_MAJOR})
75         SET_TARGET_PROPERTIES(${lib_file} PROPERTIES VERSION ${VERSION})
76         INSTALL(TARGETS ${lib_file} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
77 ENDFOREACH(lib_file)
78
79 FOREACH(pcfile ${SUBMODULES_DEVEL})
80         CONFIGURE_FILE(${pcfile}.pc.in ${pcfile}.pc @ONLY)
81         SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${pcfile}.pc")
82         INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pcfile}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
83 ENDFOREACH(pcfile)
84
85 FOREACH(hfile ${INSTALL_HEADERS_DEVEL})
86         INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/${hfile} DESTINATION include/${PROJECT_NAME})
87 ENDFOREACH(hfile)
88
89 FOREACH(hfile ${INSTALL_HEADERS_SERVICE_DEVEL})
90         INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/${hfile} DESTINATION include/${PROJECT_NAME}/service)
91 ENDFOREACH(hfile)