apply smack
[apps/home/myfiles.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(myfile C)
3
4 SET(DEBFILE_NAME org.tizen.myfile)
5
6 #SET(MFDUGNAME ug-myfile-detail-efl)
7 # End for myfile ug
8
9 SET(SRC-DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
10 SET(UTILITY-DIR ${SRC-DIR}/common)
11 SET(FS-DIR ${UTILITY-DIR}/file-system)
12 SET(FO-DIR ${UTILITY-DIR}/file-operation)
13 SET(WIDGET-DIR ${SRC-DIR}/widget)
14
15 SET(MAININCLUDE ${SRC-DIR}/include)
16
17 SET(PKG_NAME "${CMAKE_INSTALL_PKG_NAME}")
18 SET(DESKTOP_DIR ${CMAKE_DESKTOP_DIR})
19
20 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
21 SET(BINDIR "${PREFIX}/bin")
22 SET(LIBDIR "/usr/lib")
23 SET(RESDIR "${PREFIX}/res")
24 SET(DATADIR "${CMAKE_INSTALL_DATA_DIR}")
25 SET(LOCALEDIR "${RESDIR}/locale")
26 SET(ICONDIR "${RESDIR}/icons/default/small")
27 SET(IMAGEDIR "${RESDIR}/images")
28 SET(EDJDIR "${RESDIR}/edje")
29 SET(XMLDIR "/usr/share/packages")
30 #SET(ADD_SEARCH_MODULE 1) ##value is not meaningful one
31
32 #MYFILE_ADD_TO_HOME
33
34 INCLUDE_DIRECTORIES(${MAININCLUDE})
35
36 SET(SRCS
37         ${SRC-DIR}/mf-main.c
38         ${UTILITY-DIR}/mf-callback.c
39         ${UTILITY-DIR}/mf-util.c
40         ${UTILITY-DIR}/mf-ta.c
41         ${UTILITY-DIR}/mf-fm-svc-wrapper.c
42         ${UTILITY-DIR}/mf-inotify-handle.c
43         ${UTILITY-DIR}/mf-launch.c
44         ${UTILITY-DIR}/mf-otg.c
45         ${UTILITY-DIR}/mf-log.c
46         ${UTILITY-DIR}/mf-language-mgr.c
47         ${UTILITY-DIR}/mf-s-beam.c
48         ${UTILITY-DIR}/mf-sensor.c
49         ${UTILITY-DIR}/mf-share.c
50         ${UTILITY-DIR}/mf-drm.c
51         ${UTILITY-DIR}/mf-media-content.c
52 ###########     File system related     ##########
53         ${FS-DIR}/mf-file-attr.c
54         ${FS-DIR}/mf-fs-oper.c
55
56 ###########     File operation related  ##########
57         ${FO-DIR}/mf-cancel.c
58         ${FO-DIR}/mf-copy.c
59         ${FO-DIR}/mf-copy-internal.c
60         ${FO-DIR}/mf-delete.c
61         ${FO-DIR}/mf-delete-internal.c
62         ${FO-DIR}/mf-fo-internal.c
63         ${FO-DIR}/mf-move.c
64         ${FO-DIR}/mf-move-internal.c
65         ${FO-DIR}/mf-request.c
66         ${FO-DIR}/mf-search.c
67         ${FO-DIR}/mf-search-internal.c
68
69 ###########     Widget related  ##########
70 #       ${WIDGET-DIR}/mf-tab-bar.c
71         ${WIDGET-DIR}/mf-ctrl-bar.c
72         ${WIDGET-DIR}/mf-search-bar.c
73         ${WIDGET-DIR}/mf-navi-bar.c
74         ${WIDGET-DIR}/mf-genlist.c
75 #       ${WIDGET-DIR}/mf-content.c
76         ${WIDGET-DIR}/mf-popup.c
77         ${WIDGET-DIR}/mf-split-view.c
78         ${WIDGET-DIR}/mf-widget.c
79         ${WIDGET-DIR}/mf-gengrid.c
80         ${WIDGET-DIR}/mf-context-popup.c
81         ${WIDGET-DIR}/mf-tray-item.c
82
83         )
84
85 INCLUDE(FindPkgConfig)
86 pkg_check_modules(pkgs REQUIRED
87 capi-appfw-application
88 capi-content-media-content
89 elementary
90 vconf
91 glib-2.0
92 gthread-2.0
93 drm-client
94 ui-gadget-1
95 dlog
96 ecore-imf
97 ecore-x
98 eina
99 evas
100 edje
101 ecore
102 ecore-file
103 ecore-input
104 icu-i18n
105 icu-io
106 icu-le
107 icu-lx
108 icu-uc
109 capi-system-power
110 capi-system-runtime-info
111 capi-network-nfc
112 capi-system-sensor
113 syspopup-caller
114 status
115 )
116 # org.tizen.live-myfile
117 # debian
118
119 FOREACH(flag ${pkgs_CFLAGS})
120         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
121 ENDFOREACH(flag)
122 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
123
124 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
125 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
126 SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -g -fpie")
127 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
128
129
130 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
131 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
132 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
133 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
134 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
135
136
137 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
138 ADD_DEFINITIONS("-DMYFILE_USE_LOG")
139 ADD_DEFINITIONS("-DMYFILE_USE_TA")
140 ADD_DEFINITIONS("-DMYFILE_USB_OTG")
141 #ADD_DEFINITIONS("-DMYFILE_CRITICAL_LOG")
142 #ADD_DEFINITIONS("-DMYFILE_SPLIT_VIEW")
143 ADD_DEFINITIONS("-DMYFILE_MOTION_FEATURE")
144 ADD_DEFINITIONS("-DMYFILE_TRAY_FEATURE")
145
146
147 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
148 #ADD_EXECUTABLE(FSTest ${LIB_SRCS})
149 #ADD_LIBRARY(${PROJECT_NAME}_fs SHARED ${LIB_SRCS})
150 #TARGET_LINK_LIBRARIES(FSTest ${pkgs_LDFLAGS})
151
152 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm -lpthread)
153
154 INSTALL(TARGETS ${PROJECT_NAME} ${LIBNAME}
155                 RUNTIME DESTINATION ${BINDIR}
156                 LIBRARY DESTINATION ${LIBDIR})
157 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/tools/dumpfiles.sh DESTINATION bin)
158 #INSTALL(FILES ${MAININCLUDE}/myfile_filesystem_util.h DESTINATION /usr/include)
159 INSTALL(DIRECTORY DESTINATION ${DATADIR})
160
161 #CONFIGURE_FILE(desktop/${PKG_NAME}.desktop.in desktop/${PKG_NAME}.desktop)
162 INSTALL(FILES ${CMAKE_BINARY_DIR}/desktop/${PKG_NAME}.xml DESTINATION ${XMLDIR})
163
164 INSTALL(FILES desktop/${PKG_NAME}.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
165 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.myfile.rule DESTINATION  /opt/etc/smack/accesses.d)
166
167 ADD_SUBDIRECTORY(data)
168
169 #End for myfile ug