Merge branch 'tizen_2.3' into tizen_2.4
[platform/core/api/notification.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(notification C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
8 SET(ICONDIR "${PREFIX}/share/${PROJECT_NAME}")
9 SET(RESDIR "${PREFIX}/share/${PROJECT_NAME}")
10 SET(DBDIR "/opt/dbspace")
11 SET(IMGDIR "${RESDIR}/images")
12 SET(DBFILE ".notification.db")
13 SET(MAJOR_VER 0)
14 SET(VERSION ${MAJOR_VER}.1.0)
15
16 SET(SRCS 
17         ./src/notification.c
18         ./src/notification_noti.c
19         ./src/notification_ongoing.c
20         ./src/notification_group.c
21         ./src/notification_db.c
22         ./src/notification_list.c
23         ./src/notification_status.c
24         ./src/notification_ipc.c
25         ./src/notification_setting.c)
26 SET(HEADERS-DEVEL
27         ./include/notification.h
28         ./include/notification_internal.h
29         ./include/notification_error.h
30         ./include/notification_type.h
31         ./include/notification_list.h
32         ./include/notification_status.h)
33
34 SET(HEADERS-SERVICE-DEVEL
35         ./include/notification_ipc.h
36         ./include/notification_noti.h
37         ./include/notification_setting_service.h)
38
39 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
40
41 INCLUDE(FindPkgConfig)
42 pkg_check_modules(pkgs REQUIRED 
43         sqlite3 
44         db-util 
45         vconf 
46         bundle 
47         dlog 
48         ail 
49         aul 
50         appsvc
51         dbus-1
52         dbus-glib-1
53         com-core
54         capi-appfw-application
55         capi-appfw-package-manager
56         edbus
57         elementary
58         ecore
59         eina
60 )
61
62 FOREACH(flag ${pkgs_CFLAGS})
63         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
64 ENDFOREACH(flag)
65
66 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -g -Wall")
67 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
68
69 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
70
71 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
72 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
73 ADD_DEFINITIONS("-DDBDIR=\"${DBDIR}\"")
74 ADD_DEFINITIONS("-DDBFILE=\"${DBFILE}\"")
75 ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
76
77 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
78 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJOR_VER})
79 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
80 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
81
82 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
83 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries)
84 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
85
86 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/images/ DESTINATION ${IMGDIR} FILES_MATCHING PATTERN "*.png")
87
88 FOREACH(hfile ${HEADERS-DEVEL})
89         INSTALL(FILES ${CMAKE_SOURCE_DIR}/${hfile} DESTINATION include/${PROJECT_NAME})
90 ENDFOREACH(hfile)
91
92 CONFIGURE_FILE(${PROJECT_NAME}-service.pc.in ${PROJECT_NAME}-service.pc @ONLY)
93 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-service.pc DESTINATION lib/pkgconfig)
94
95 FOREACH(hfile ${HEADERS-SERVICE-DEVEL})
96         INSTALL(FILES ${CMAKE_SOURCE_DIR}/${hfile} DESTINATION include/${PROJECT_NAME}/service)
97 ENDFOREACH(hfile)