Tizen release 1.0
[apps/core/preloaded/calendar.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(efl-calendar C)
3
4 FILE(GLOB SRCS src/*.c)
5 FILE(GLOB COMM_SRCS common/*.c)
6
7 SET(VENDOR "tizen")
8 SET(CALENDAR_PACKAGE ${PROJECT_NAME})
9 SET(PKGNAME "org.${VENDOR}.${CALENDAR_PACKAGE}")
10 SET(CALENDAR_PREFIX ${CMAKE_INSTALL_PREFIX})
11 SET(BINDIR "${CALENDAR_PREFIX}/bin")
12 SET(RESDIR "${CALENDAR_PREFIX}/res")
13 SET(DATADIR "${CALENDAR_PREFIX}/data")
14 SET(LOCALEDIR "${RESDIR}/locale")
15 SET(ICONDIR "${RESDIR}/icons/default/small")
16 SET(EDJDIR "${RESDIR}/edje")
17 SET(SELECTED_TARGET "hd")
18 SET(UGNAME "ug-calendar-efl")
19 SET(UGSETTINGS "ug-calendar-settings-efl")
20 SET(UGEDIT "ug-calendar-edit-efl")
21 SET(UGDETAIL "ug-calendar-detail-efl")
22
23 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
24         SET(CMAKE_BUILD_TYPE "Release")
25 ENDIF()
26 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
27 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
28
29 INCLUDE(FindPkgConfig)
30 pkg_check_modules(pkgs REQUIRED
31                 appcore-efl
32                 dlog
33                 heynoti
34                 ui-gadget
35                 utilX
36                 alarm-service
37                 accounts-svc
38                 mm-player
39                 pmapi
40                 calendar
41                 ecore-input
42                 ecore-imf
43                 ecore-x
44                 ecore-evas
45                 ecore
46                 eina
47                 evas
48                 edje
49                 icu-i18n
50                 glib-2.0
51                 appsvc
52                 capi-appfw-application
53                 capi-media-sound-manager
54                 capi-media-wav-player
55 )
56
57 FOREACH(flag ${pkgs_CFLAGS})
58         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
59 ENDFOREACH(flag)
60
61
62 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fpie -Wall")
63 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
64 SET(CMAKE_C_FLAGS_RELEASE "-O2 -g")
65
66 IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
67         ADD_DEFINITIONS("-DCLD_DEBUG")
68         ADD_DEFINITIONS("-DCLD_FILE_LOGGING")
69 ENDIF()
70
71 FIND_PROGRAM(UNAME NAMES uname)
72 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
73 IF("${ARCH}" STREQUAL "arm")
74         ADD_DEFINITIONS("-DTARGET")
75         MESSAGE(STATUS "add -DTARGET")
76 ENDIF()
77
78 ADD_DEFINITIONS("-DCALENDAR_PACKAGE=\"${CALENDAR_PACKAGE}\"")
79 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
80 ADD_DEFINITIONS("-DCALENDAR_PREFIX=\"${CALENDAR_PREFIX}\"")
81 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
82 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
83 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
84 ADD_DEFINITIONS("-DUGNAME=\"${UGNAME}\"")
85 ADD_DEFINITIONS("-DUGSETTINGS=\"${UGSETTINGS}\"")
86 ADD_DEFINITIONS("-DUGEDIT=\"${UGEDIT}\"")
87 ADD_DEFINITIONS("-DUGDETAIL=\"${UGDETAIL}\"")
88
89 SET(COMMON_LIB "common_lib")
90 ADD_LIBRARY(${COMMON_LIB} STATIC ${COMM_SRCS})
91
92 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
93 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${COMMON_LIB} ${pkgs_LDFLAGS} "-pie -lm")
94
95 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
96
97 # install desktop file
98 CONFIGURE_FILE(${PKGNAME}.desktop.in ${CMAKE_BINARY_DIR}/${PKGNAME}.desktop)
99 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.desktop DESTINATION /opt/share/applications)
100
101 # ui-gadget
102 ADD_SUBDIRECTORY(ug)
103
104 # i18n
105 ADD_SUBDIRECTORY(po)
106
107 # data
108 ADD_SUBDIRECTORY(data)
109
110 INSTALL(DIRECTORY DESTINATION ${DATADIR})
111
112 # vcs viewer
113 ADD_SUBDIRECTORY(viewer)