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