Tizen 2.1 base
[apps/core/preloaded/video-player.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(video-player C CXX)
3
4 SET(PKG_NAME org.tizen.video-player)
5
6 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
7
8 SET(SRCS
9 src/video-player.c
10 src/mp-util.c
11 src/mp-video-app-ctrl.c
12 src/mp-video-view-mgr.c
13 src/mp-video-display-view.c
14 src/mp-external-ug.c
15 src/mp-video-progressbar.c
16 src/mp-util-media-service.c
17 src/mp-video-streaming-view.c
18 src/mp-video-ctrl-mgr.c
19 src/mp-video-player-mgr.c
20 src/mp-video-animation-ctrl.c
21 src/mp-video-streaming-ctrl.c
22 src/mp-video-service-ctrl.c
23 src/mp-video-volume-ctrl.c
24 src/mp-video-sound-path-ctrl.c
25 )
26
27 INCLUDE_DIRECTORIES(
28         ${CMAKE_SOURCE_DIR}/include
29 )
30
31 INCLUDE(FindPkgConfig)
32 pkg_check_modules(pkgs REQUIRED
33         elementary
34         drm-client
35         utilX
36         dlog
37         vconf
38         syspopup-caller
39         ecore-imf
40         ecore-x
41         ecore-input
42         ecore-evas
43         eina
44         evas
45         ecore
46         ecore-file
47         edje
48         icu-i18n
49         icu-io
50         icu-le
51         icu-lx
52         icu-uc
53         efreet-mime
54         capi-appfw-application
55         capi-media-player
56         capi-media-sound-manager
57         capi-media-image-util
58         pmapi
59         capi-media-metadata-extractor
60         capi-content-media-content
61         capi-content-mime-type
62         ui-gadget-1
63 )
64
65
66 FOREACH(flag ${pkgs_CFLAGS})
67         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
68 ENDFOREACH(flag)
69
70 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE} -fPIC")
71
72 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
73 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
74 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
75 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
76
77
78 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
79 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
80 ADD_DEFINITIONS("-D_LARGEFILE64_SOURCE")
81 ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=\"\"64")
82
83
84 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
85 SET(BINDIR "${PREFIX}/bin")
86 SET(RESDIR "${PREFIX}/res")
87 SET(THUMBDIR "/opt/usr/media/.video_thumb")
88 SET(LOCALEDIR "${RESDIR}/locale")
89 SET(ICONDIR "${RESDIR}/icons/default/small")
90 SET(EDJDIR "${RESDIR}/edje")
91 SET(SLP_LD_PATH_FLAGS -L${CMAKE_CURRENT_SOURCE_DIR}/src/ext)
92
93 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
94 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
95 ADD_DEFINITIONS("-DTHUMBDIR=\"${THUMBDIR}\"")
96 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
97 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
98 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
99 ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
100 ADD_DEFINITIONS("-DUSE_SWITCH")
101
102
103 IF("${ARCH}" STREQUAL "arm")
104         ADD_DEFINITIONS("-DTARGET")
105 ENDIF("${ARCH}" STREQUAL "arm")
106
107 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
108 SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
109
110 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
111 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${gles_pkg_LDFLAGS} -ldl)
112
113 ADD_CUSTOM_TARGET(main.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
114 ${CMAKE_SOURCE_DIR}/res/edc/main.edc
115 ${CMAKE_BINARY_DIR}/res/edc/main.edj DEPENDS
116 ${CMAKE_SOURCE_DIR}/res/edc/main.edc)
117
118 ADD_CUSTOM_TARGET(vp_font.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
119 ${CMAKE_SOURCE_DIR}/res/edc/vp_font.edc
120 ${CMAKE_BINARY_DIR}/res/edc/vp_font.edj DEPENDS
121 ${CMAKE_SOURCE_DIR}/res/edc/vp_font.edc)
122
123 ADD_CUSTOM_TARGET(image_res.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
124 ${CMAKE_SOURCE_DIR}/res/edc/image_res.edc
125 ${CMAKE_BINARY_DIR}/res/edc/image_res.edj DEPENDS
126 ${CMAKE_SOURCE_DIR}/res/edc/image_res.edc)
127
128 ADD_CUSTOM_TARGET(panel.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
129 ${CMAKE_SOURCE_DIR}/res/edc/panel.edc
130 ${CMAKE_BINARY_DIR}/res/edc/panel.edj DEPENDS
131 ${CMAKE_SOURCE_DIR}/res/edc/panel.edc)
132
133 ADD_CUSTOM_TARGET(progress.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
134 ${CMAKE_SOURCE_DIR}/res/edc/progress.edc
135 ${CMAKE_BINARY_DIR}/res/edc/progress.edj DEPENDS
136 ${CMAKE_SOURCE_DIR}/res/edc/progress.edc)
137
138 ADD_CUSTOM_TARGET(control.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
139 ${CMAKE_SOURCE_DIR}/res/edc/control.edc
140 ${CMAKE_BINARY_DIR}/res/edc/control.edj DEPENDS
141 ${CMAKE_SOURCE_DIR}/res/edc/control.edc)
142
143 ADD_CUSTOM_TARGET(animation.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
144 ${CMAKE_SOURCE_DIR}/res/edc/animation.edc
145 ${CMAKE_BINARY_DIR}/res/edc/animation.edj DEPENDS
146 ${CMAKE_SOURCE_DIR}/res/edc/animation.edc)
147
148 ADD_CUSTOM_TARGET(subtitle.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
149 ${CMAKE_SOURCE_DIR}/res/edc/subtitle.edc
150 ${CMAKE_BINARY_DIR}/res/edc/subtitle.edj DEPENDS
151 ${CMAKE_SOURCE_DIR}/res/edc/subtitle.edc)
152
153 ADD_CUSTOM_TARGET(vp-custom-winset-style.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
154 ${CMAKE_SOURCE_DIR}/res/edc/vp-custom-winset-style.edc
155 ${CMAKE_BINARY_DIR}/res/edc/vp-custom-winset-style.edj DEPENDS
156 ${CMAKE_SOURCE_DIR}/res/edc/vp-custom-winset-style.edc)
157
158 ADD_CUSTOM_TARGET(option_button.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
159 ${CMAKE_SOURCE_DIR}/res/edc/option_button.edc
160 ${CMAKE_BINARY_DIR}/res/edc/option_button.edj DEPENDS
161 ${CMAKE_SOURCE_DIR}/res/edc/option_button.edc)
162
163 ADD_CUSTOM_TARGET(popup_progressbar.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
164 ${CMAKE_SOURCE_DIR}/res/edc/popup_progressbar.edc
165 ${CMAKE_BINARY_DIR}/res/edc/popup_progressbar.edj DEPENDS
166 ${CMAKE_SOURCE_DIR}/res/edc/popup_progressbar.edc)
167
168 ADD_CUSTOM_TARGET(vp-speedbox-popup.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
169 ${CMAKE_SOURCE_DIR}/res/edc/vp-speedbox-popup.edc
170 ${CMAKE_BINARY_DIR}/res/edc/vp-speedbox-popup.edj DEPENDS
171 ${CMAKE_SOURCE_DIR}/res/edc/vp-speedbox-popup.edc)
172
173 ADD_CUSTOM_TARGET(vp-volume-popup.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
174 ${CMAKE_SOURCE_DIR}/res/edc/vp-volume-popup.edc
175 ${CMAKE_BINARY_DIR}/res/edc/vp-volume-popup.edj DEPENDS
176 ${CMAKE_SOURCE_DIR}/res/edc/vp-volume-popup.edc)
177
178 ADD_DEPENDENCIES(${PROJECT_NAME} main.edj)
179 ADD_DEPENDENCIES(${PROJECT_NAME} vp_font.edj)
180 ADD_DEPENDENCIES(${PROJECT_NAME} image_res.edj)
181 ADD_DEPENDENCIES(${PROJECT_NAME} panel.edj)
182 ADD_DEPENDENCIES(${PROJECT_NAME} progress.edj)
183 ADD_DEPENDENCIES(${PROJECT_NAME} control.edj)
184 ADD_DEPENDENCIES(${PROJECT_NAME} animation.edj)
185 ADD_DEPENDENCIES(${PROJECT_NAME} subtitle.edj)
186 ADD_DEPENDENCIES(${PROJECT_NAME} vp-custom-winset-style.edj)
187 ADD_DEPENDENCIES(${PROJECT_NAME} option_button.edj)
188 ADD_DEPENDENCIES(${PROJECT_NAME} popup_progressbar.edj)
189 ADD_DEPENDENCIES(${PROJECT_NAME} vp-speedbox-popup.edj)
190 ADD_DEPENDENCIES(${PROJECT_NAME} vp-volume-popup.edj)
191
192 ######################################
193 # install desktop file & icon, edje  #
194 ######################################
195
196 INSTALL(DIRECTORY DESTINATION ${THUMBDIR})
197 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
198 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/main.edj DESTINATION ${EDJDIR})
199 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp_font.edj DESTINATION ${EDJDIR})
200 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/image_res.edj DESTINATION ${EDJDIR})
201 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/panel.edj DESTINATION ${EDJDIR})
202 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/progress.edj DESTINATION ${EDJDIR})
203 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/control.edj DESTINATION ${EDJDIR})
204 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/animation.edj DESTINATION ${EDJDIR})
205 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/subtitle.edj DESTINATION ${EDJDIR})
206 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-custom-winset-style.edj DESTINATION ${EDJDIR})
207 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/option_button.edj DESTINATION ${EDJDIR})
208 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/popup_progressbar.edj DESTINATION ${EDJDIR})
209 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-speedbox-popup.edj DESTINATION ${EDJDIR})
210 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-volume-popup.edj DESTINATION ${EDJDIR})
211 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.video-player.xml DESTINATION /usr/share/packages)
212 INSTALL(FILES ${CMAKE_SOURCE_DIR}/res/images/org.tizen.video-player.png DESTINATION /usr/share/icons/default/small/)
213 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images/icon/ DESTINATION ${RESDIR}/images/icon)
214 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images/toolbar/ DESTINATION ${RESDIR}/images/toolbar)
215
216 INSTALL(FILES LICENSE.Flora DESTINATION /usr/share/license RENAME ${PKG_NAME})
217
218 ADD_SUBDIRECTORY(res/po)