test
[apps/core/preloaded/calendar.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(calendar C)
3
4 FILE(GLOB SRCS src/*.c)
5 FILE(GLOB COMM_SRCS common/*.c)
6
7 SET(VENDOR "org.tizen")
8
9 SET(CALENDAR ${PROJECT_NAME})
10 SET(PKGNAME "${VENDOR}.${CALENDAR}")
11 SET(CALENDAR_PREFIX ${CMAKE_INSTALL_PREFIX})
12 SET(BINDIR "${CALENDAR_PREFIX}/bin")
13 SET(RESDIR "${CALENDAR_PREFIX}/res")
14 SET(DATADIR "${CALENDAR_PREFIX}/data")
15 SET(LOCALEDIR "${RESDIR}/locale")
16 SET(ICONDIR "${RESDIR}/icons/default/small")
17 SET(EDJDIR "${RESDIR}/edje")
18 SET(SELECTED_TARGET "hd")
19 SET(UGNAME "ug-calendar-efl")
20 SET(UGSETTINGS "ug-calendar-settings-efl")
21 SET(UGEDIT "ug-calendar-edit-efl")
22 SET(UGDETAIL "ug-calendar-detail-efl")
23
24 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
25         SET(CMAKE_BUILD_TYPE "Release")
26 ENDIF()
27 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
28 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
29
30 INCLUDE(FindPkgConfig)
31 pkg_check_modules(pkgs REQUIRED
32                 appcore-efl
33                 dlog
34                 heynoti
35                 utilX
36                 contacts-service
37                 accounts-svc
38                 location
39                 calendar
40                 ecore-input
41                 ecore-imf
42                 ecore-x
43                 ecore-evas
44                 ecore
45                 eina
46                 evas
47                 edje
48                 icu-i18n
49                 glib-2.0
50                 appsvc
51                 capi-appfw-application
52                 capi-location-geocoder
53                 notification
54                 ui-gadget-1
55                 libxml-2.0
56 )
57
58 FOREACH(flag ${pkgs_CFLAGS})
59         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
60 ENDFOREACH(flag)
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")
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=\"${CALENDAR}\"")
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}.xml ${CMAKE_BINARY_DIR}/${PKGNAME}.xml)
99 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.xml DESTINATION /opt/share/packages)
100
101 # ui-gadget
102 ADD_SUBDIRECTORY(ug)
103
104 INSTALL(FILES ${CMAKE_BINARY_DIR}/libug-calendar-efl.xml DESTINATION /opt/share/packages)
105
106 # i18n
107 ADD_SUBDIRECTORY(po)
108
109 # data
110 ADD_SUBDIRECTORY(data)
111
112 INSTALL(DIRECTORY DESTINATION ${DATADIR})
113
114 # vcs viewer
115 ADD_SUBDIRECTORY(viewer)