Fix UI issue / Launch issue / Mediadata issue
[profile/tv/apps/native/filebrowser.git] / CMakeLists.txt
1 # Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (the "License");
4 #    you may not use this file except in compliance with the License.
5 #    You may obtain a copy of the License at
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #    Unless required by applicable law or agreed to in writing, software
10 #    distributed under the License is distributed on an "AS IS" BASIS,
11 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #    See the License for the specific language governing permissions and
13 #    limitations under the License.
14 #
15
16 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
17 PROJECT("file-browser" CXX C)
18
19 SET(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
20
21 IF(NOT DEFINED PACKAGE_NAME)
22         SET(PACKAGE_NAME "org.tizen.file-browser-tv-ref")
23 ENDIF(NOT DEFINED PACKAGE_NAME)
24
25 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
26 IF(NOT DEFINED BINDIR)
27         SET(BINDIR"${PREFIX}/bin")
28 ENDIF(NOT DEFINED BINDIR)
29 IF(NOT DEFINED RESDIR)
30         SET(RESDIR "${PREFIX}/res")
31 ENDIF(NOT DEFINED RESDIR)
32 IF(NOT DEFINED EDJEDIR)
33         SET(EDJEDIR "${PREFIX}/res/edje")
34 ENDIF(NOT DEFINED EDJEDIR)
35 IF(NOT DEFINED LOCALEDIR)
36         SET(LOCALEDIR "${PREFIX}/res/locale")
37 ENDIF(NOT DEFINED LOCALEDIR)
38 IF(NOT DEFINED IMAGEDIR)
39   SET(IMAGEDIR "${PREFIX}/res/images")
40 ENDIF(NOT DEFINED IMAGEDIR)
41 IF(NOT DEFINED MANIFESTDIR)
42         SET(MANIFESTDIR "/usr/share/packages")
43 ENDIF(NOT DEFINED MANIFESTDIR)
44 IF(NOT DEFINED DESKTOP_ICONDIR)
45         SET(DESKTOP_ICONDIR "/usr/share/icons/default/small")
46 ENDIF(NOT DEFINED DESKTOP_ICONDIR)
47 IF(NOT DEFINED DESKTOP_ICON)
48         SET(DESKTOP_ICON ${PACKAGE_NAME}.png)
49 ENDIF(NOT DEFINED DESKTOP_ICON)
50 IF(NOT DEFINED LANDSCAPE_ICON)
51         SET(LANDSCAPE_ICON ${PACKAGE_NAME}_4x2.png)
52 ENDIF(NOT DEFINED LANDSCAPE_ICON)
53
54 SET(SRCS src/main.cpp
55          src/views/FbContextView.cpp
56          src/views/BaseView/Popup.cpp
57          src/views/BaseView/FileGrid.cpp
58          src/views/BaseView/Info.cpp
59          src/views/BaseView/FbBaseView.cpp
60          src/layouts/FbAllLayout.cpp
61          src/layouts/FbPhotoLayout.cpp
62          src/layouts/FbVideoLayout.cpp
63          src/layouts/FbMusicLayout.cpp
64          src/views/BaseView/GengridItemClass.cpp
65          src/views/BaseView/SortCtxPopup.cpp
66          src/views/BaseView/SourceCtxPopup.cpp
67          src/views/Dummy/DummyContent.cpp
68          src/data/Mediadata.cpp
69          src/data/MediadataImpl.cpp
70          src/data/FileInfo.cpp
71          src/data/DirectoryInfo.cpp
72          src/data/FileList.cpp
73 )
74
75 SET(TARGET_EDJ "${PROJECT_NAME}.edj")
76 SET(THEME_EDJ "${PROJECT_NAME}-theme.edj")
77
78 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE_NAME}\"")
79 ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
80 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
81 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
82 ADD_DEFINITIONS("-DTHEMEFILE=\"${EDJEDIR}/${THEME_EDJ}\"")
83 ADD_DEFINITIONS("-DEDJEFILE=\"${EDJEDIR}/${TARGET_EDJ}\"")
84
85 INCLUDE(FindPkgConfig)
86 pkg_check_modules(PKGS REQUIRED
87                 application-common
88                 capi-appfw-application
89                 dlog
90                 elementary
91                 edje
92                 capi-content-media-content
93                 aul
94 )
95
96 FOREACH(flag ${PKGS_CFLAGS})
97         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
98 ENDFOREACH(flag)
99
100 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror")
101 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror")
102 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
103
104 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
105 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
106 CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml)
107
108 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
109 INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR})
110 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
111 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/${DESKTOP_ICON} DESTINATION ${DESKTOP_ICONDIR})
112 INSTALL(FILES ${CMAKE_SOURCE_DIR}/icons/${LANDSCAPE_ICON} DESTINATION ${DESKTOP_ICONDIR})
113
114 #i18n
115 ADD_SUBDIRECTORY(po)
116 ADD_SUBDIRECTORY(res/edc)
117