1 # Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
16 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
17 PROJECT("file-browser" CXX C)
19 SET(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
21 IF(NOT DEFINED PACKAGE_NAME)
22 SET(PACKAGE_NAME "org.tizen.file-browser-tv-ref")
23 ENDIF(NOT DEFINED PACKAGE_NAME)
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)
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
71 src/data/DirectoryInfo.cpp
75 SET(TARGET_EDJ "${PROJECT_NAME}.edj")
76 SET(THEME_EDJ "${PROJECT_NAME}-theme.edj")
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}\"")
85 INCLUDE(FindPkgConfig)
86 pkg_check_modules(PKGS REQUIRED
88 capi-appfw-application
92 capi-content-media-content
96 FOREACH(flag ${PKGS_CFLAGS})
97 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
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)
104 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
105 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
106 CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml)
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})
116 ADD_SUBDIRECTORY(res/edc)