Merge branch '0128_tizen20'
[apps/core/preloaded/video-player.git] / CMakeLists.txt
index c9a9894..3e43a9d 100755 (executable)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
-PROJECT(video-player C)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(video-player C CXX)
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+SET(PKG_NAME org.tizen.video-player)
+
+EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
 
 SET(SRCS
 src/video-player.c
 src/mp-util.c
 src/mp-video-app-ctrl.c
-src/mp-xml-parser.c
-src/mp-video-view-ctrl.c
+src/mp-video-view-mgr.c
 src/mp-video-display-view.c
+src/mp-external-ug.c
 src/mp-video-progressbar.c
 src/mp-util-media-service.c
-src/mp-video-sound-path-ctrl.c
 src/mp-video-streaming-view.c
 src/mp-video-ctrl-mgr.c
 src/mp-video-player-mgr.c
 src/mp-video-animation-ctrl.c
 src/mp-video-streaming-ctrl.c
-src/mp-video-subtitle-ctrl.c
-src/mp-video-info-ctrl.c
+src/mp-video-service-ctrl.c
+src/mp-video-volume-ctrl.c
+src/mp-video-sound-path-ctrl.c
 )
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(
+       ${CMAKE_SOURCE_DIR}/include
+)
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED elementary 
-appcore-efl 
-ui-gadget 
-utilX 
-mm-common 
-mm-player 
-mm-sound 
-dlog 
-pmapi 
-mm-session 
-vconf 
-mm-ta
-mm-fileinfo 
-appcore-common
-libmedia-service
-libxml-2.0
-syspopup-caller
-ecore
-ecore-file 
-ecore-imf 
-ecore-x
-ecore-input 
-ecore-evas 
-eina 
-evas 
-edje 
-appsvc 
-ail 
-efreet-mime
-icu-i18n
-icu-io
-icu-le
-icu-lx
-icu-uc)
+pkg_check_modules(pkgs REQUIRED
+       elementary
+       drm-client
+       utilX
+       dlog
+       vconf
+       syspopup-caller
+       ecore-imf
+       ecore-x
+       ecore-input
+       ecore-evas
+       eina
+       evas
+       ecore
+       ecore-file
+       edje
+       icu-i18n
+       icu-io
+       icu-le
+       icu-lx
+       icu-uc
+       efreet-mime
+       capi-appfw-application
+       capi-media-player
+       capi-media-sound-manager
+       capi-media-image-util
+       pmapi
+       capi-media-metadata-extractor
+       capi-content-media-content
+       capi-content-mime-type
+       ui-gadget-1
+)
 
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE} -fPIC")
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
+
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
+ADD_DEFINITIONS("-D_LARGEFILE64_SOURCE")
+ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=\"\"64")
 
-ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
-ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
-ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
-ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
-ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
 
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 SET(BINDIR "${PREFIX}/bin")
 SET(RESDIR "${PREFIX}/res")
-SET(DATADIR "/opt/apps/org.tizen.video-player/data")
+SET(THUMBDIR "/opt/usr/media/.video_thumb")
 SET(LOCALEDIR "${RESDIR}/locale")
 SET(ICONDIR "${RESDIR}/icons/default/small")
 SET(EDJDIR "${RESDIR}/edje")
 SET(SLP_LD_PATH_FLAGS -L${CMAKE_CURRENT_SOURCE_DIR}/src/ext)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+ADD_DEFINITIONS("-DTHUMBDIR=\"${THUMBDIR}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
+ADD_DEFINITIONS("-DUSE_SWITCH")
 
-CONFIGURE_FILE(org.tizen.video-player.desktop.in org.tizen.video-player.desktop)
 
-FIND_PROGRAM(UNAME NAMES uname)
-EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
 IF("${ARCH}" STREQUAL "arm")
        ADD_DEFINITIONS("-DTARGET")
-       MESSAGE("add -DTARGET")
 ENDIF("${ARCH}" STREQUAL "arm")
 
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
 
 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${gles_pkg_LDFLAGS} -lmmffile -lmmfsound -ldl)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${gles_pkg_LDFLAGS} -ldl)
 
 ADD_CUSTOM_TARGET(main.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
 ${CMAKE_SOURCE_DIR}/res/edc/main.edc
@@ -123,27 +135,16 @@ ${CMAKE_SOURCE_DIR}/res/edc/progress.edc
 ${CMAKE_BINARY_DIR}/res/edc/progress.edj DEPENDS
 ${CMAKE_SOURCE_DIR}/res/edc/progress.edc)
 
-
 ADD_CUSTOM_TARGET(control.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
 ${CMAKE_SOURCE_DIR}/res/edc/control.edc
 ${CMAKE_BINARY_DIR}/res/edc/control.edj DEPENDS
 ${CMAKE_SOURCE_DIR}/res/edc/control.edc)
 
-ADD_CUSTOM_TARGET(add_tag.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
-${CMAKE_SOURCE_DIR}/res/edc/add_tag.edc
-${CMAKE_BINARY_DIR}/res/edc/add_tag.edj DEPENDS
-${CMAKE_SOURCE_DIR}/res/edc/add_tag.edc)
-
 ADD_CUSTOM_TARGET(animation.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
 ${CMAKE_SOURCE_DIR}/res/edc/animation.edc
 ${CMAKE_BINARY_DIR}/res/edc/animation.edj DEPENDS
 ${CMAKE_SOURCE_DIR}/res/edc/animation.edc)
 
-ADD_CUSTOM_TARGET(detail.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
-${CMAKE_SOURCE_DIR}/res/edc/detail.edc
-${CMAKE_BINARY_DIR}/res/edc/detail.edj DEPENDS
-${CMAKE_SOURCE_DIR}/res/edc/detail.edc)
-
 ADD_CUSTOM_TARGET(subtitle.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
 ${CMAKE_SOURCE_DIR}/res/edc/subtitle.edc
 ${CMAKE_BINARY_DIR}/res/edc/subtitle.edj DEPENDS
@@ -154,36 +155,45 @@ ${CMAKE_SOURCE_DIR}/res/edc/vp-custom-winset-style.edc
 ${CMAKE_BINARY_DIR}/res/edc/vp-custom-winset-style.edj DEPENDS
 ${CMAKE_SOURCE_DIR}/res/edc/vp-custom-winset-style.edc)
 
-ADD_CUSTOM_TARGET(hidden_button_panel.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
-${CMAKE_SOURCE_DIR}/res/edc/hidden_button_panel.edc
-${CMAKE_BINARY_DIR}/res/edc/hidden_button_panel.edj DEPENDS
-${CMAKE_SOURCE_DIR}/res/edc/hidden_button_panel.edc)
-
 ADD_CUSTOM_TARGET(option_button.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
 ${CMAKE_SOURCE_DIR}/res/edc/option_button.edc
 ${CMAKE_BINARY_DIR}/res/edc/option_button.edj DEPENDS
 ${CMAKE_SOURCE_DIR}/res/edc/option_button.edc)
 
+ADD_CUSTOM_TARGET(popup_progressbar.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
+${CMAKE_SOURCE_DIR}/res/edc/popup_progressbar.edc
+${CMAKE_BINARY_DIR}/res/edc/popup_progressbar.edj DEPENDS
+${CMAKE_SOURCE_DIR}/res/edc/popup_progressbar.edc)
+
+ADD_CUSTOM_TARGET(vp-speedbox-popup.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
+${CMAKE_SOURCE_DIR}/res/edc/vp-speedbox-popup.edc
+${CMAKE_BINARY_DIR}/res/edc/vp-speedbox-popup.edj DEPENDS
+${CMAKE_SOURCE_DIR}/res/edc/vp-speedbox-popup.edc)
+
+ADD_CUSTOM_TARGET(vp-volume-popup.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/res/images
+${CMAKE_SOURCE_DIR}/res/edc/vp-volume-popup.edc
+${CMAKE_BINARY_DIR}/res/edc/vp-volume-popup.edj DEPENDS
+${CMAKE_SOURCE_DIR}/res/edc/vp-volume-popup.edc)
+
 ADD_DEPENDENCIES(${PROJECT_NAME} main.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} vp_font.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} image_res.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} panel.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} progress.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} control.edj)
-ADD_DEPENDENCIES(${PROJECT_NAME} add_tag.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} animation.edj)
-ADD_DEPENDENCIES(${PROJECT_NAME} detail.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} subtitle.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} vp-custom-winset-style.edj)
-ADD_DEPENDENCIES(${PROJECT_NAME} hidden_button_panel.edj)
 ADD_DEPENDENCIES(${PROJECT_NAME} option_button.edj)
-
+ADD_DEPENDENCIES(${PROJECT_NAME} popup_progressbar.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} vp-speedbox-popup.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} vp-volume-popup.edj)
 
 ######################################
 # install desktop file & icon, edje  #
 ######################################
 
-INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(DIRECTORY DESTINATION ${THUMBDIR})
 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/main.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp_font.edj DESTINATION ${EDJDIR})
@@ -191,17 +201,18 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/image_res.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/panel.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/progress.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/control.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/add_tag.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/animation.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/detail.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/subtitle.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-custom-winset-style.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/hidden_button_panel.edj DESTINATION ${EDJDIR})
 INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/option_button.edj DESTINATION ${EDJDIR})
-
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.video-player.desktop DESTINATION /opt/share/applications)
-
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/res/images/org.tizen.video-player.png DESTINATION /opt/apps/org.tizen.video-player/res/icons/default/small)
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images/ DESTINATION ${RESDIR}/images)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/popup_progressbar.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-speedbox-popup.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edc/vp-volume-popup.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.video-player.xml DESTINATION /usr/share/packages)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/res/images/org.tizen.video-player.png DESTINATION /usr/share/icons/default/small/)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images/icon/ DESTINATION ${RESDIR}/images/icon)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images/toolbar/ DESTINATION ${RESDIR}/images/toolbar)
+
+INSTALL(FILES LICENSE.Flora DESTINATION /usr/share/license RENAME ${PKG_NAME})
 
 ADD_SUBDIRECTORY(res/po)