Fix build errors with new toolchain
[profile/tv/apps/native/air_mediahub.git] / CMakeLists.txt
1 # Copyright (c) 2015 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("mediahub" C)
18
19 INCLUDE(FindPkgConfig)
20
21 IF(${FEATURE_LOCATION_SERVICE} STREQUAL "ENABLED")
22 pkg_check_modules(PKGS REQUIRED
23                 glib-2.0
24                 gio-2.0
25                 elementary
26                 capi-appfw-application
27                 capi-media-player
28                 capi-ui-efl-util
29                 vconf
30                 app-utils
31                 icu-i18n
32                 capi-maps-service)
33 ADD_DEFINITIONS("-D__FEATURE_LOCATION_SERVICE__")
34 SET(SRCS
35         src/main.c
36         src/view/base.c
37         src/view/detail.c
38         src/view/viewer.c
39         src/view/mplayer.c
40         src/view/action_menu.c
41         src/view/zoom.c
42         src/layout/movie.c
43         src/layout/gallery.c
44         src/layout/music.c
45         src/util/controller.c
46         src/util/listmgr.c
47         src/util/timeout_handler.c
48         src/util/usb.c
49         src/util/util.c
50         src/util/playermgr.c
51         src/util/ctxpopup.c
52         src/util/progressbar.c
53         src/data/datamgr.c
54         src/data/albumdata.c
55         src/data/folderdata.c
56         src/data/mediadata.c
57         src/grid/grid_movie.c
58         src/grid/grid_gallery.c
59         src/grid/grid_music.c
60         src/util/locmgr.c)
61 ELSE (${FEATURE_LOCATION_SERVICE} STREQUAL "ENABLED")
62 pkg_check_modules(PKGS REQUIRED
63                 glib-2.0
64                 gio-2.0
65                 elementary
66                 capi-appfw-application
67                 capi-media-player
68                 capi-ui-efl-util
69                 vconf
70                 app-utils
71                 icu-i18n)
72 SET(SRCS
73         src/main.c
74         src/view/base.c
75         src/view/detail.c
76         src/view/viewer.c
77         src/view/mplayer.c
78         src/view/action_menu.c
79         src/view/zoom.c
80         src/layout/movie.c
81         src/layout/gallery.c
82         src/layout/music.c
83         src/util/controller.c
84         src/util/listmgr.c
85         src/util/timeout_handler.c
86         src/util/usb.c
87         src/util/util.c
88         src/util/playermgr.c
89         src/util/ctxpopup.c
90         src/util/progressbar.c
91         src/data/datamgr.c
92         src/data/albumdata.c
93         src/data/folderdata.c
94         src/data/mediadata.c
95         src/grid/grid_movie.c
96         src/grid/grid_gallery.c
97         src/grid/grid_music.c)
98 ENDIF (${FEATURE_LOCATION_SERVICE} STREQUAL "ENABLED")
99
100 IF(NOT DEFINED PACKAGE_NAME)
101         SET(PACKAGE_NAME "org.tizen.mediahub")
102 ENDIF(NOT DEFINED PACKAGE_NAME)
103
104 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
105 IF(NOT DEFINED BINDIR)
106         SET(BINDIR "${PREFIX}/bin")
107 ENDIF(NOT DEFINED BINDIR)
108 IF(NOT DEFINED RESDIR)
109   SET(RESDIR "${PREFIX}/res")
110 ENDIF(NOT DEFINED RESDIR)
111 IF(NOT DEFINED EDJEDIR)
112         SET(EDJEDIR "${PREFIX}/res/edje")
113 ENDIF(NOT DEFINED EDJEDIR)
114 IF(NOT DEFINED LOCALEDIR)
115         SET(LOCALEDIR "${PREFIX}/res/locale")
116 ENDIF(NOT DEFINED LOCALEDIR)
117 IF(NOT DEFINED IMAGEDIR)
118   SET(IMAGEDIR "${PREFIX}/res/images")
119 ENDIF(NOT DEFINED IMAGEDIR)
120 IF(NOT DEFINED DESKTOP_ICON)
121         SET(DESKTOP_ICON ${PACKAGE_NAME}.png)
122 ENDIF(NOT DEFINED DESKTOP_ICON)
123
124 SET(TARGET_EDJ "${PROJECT_NAME}.edj")
125 SET(THEME_EDJ "${PROJECT_NAME}-theme.edj")
126
127 ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
128 ADD_DEFINITIONS("-DEDJEFILE=\"${EDJEDIR}/${TARGET_EDJ}\"")
129 ADD_DEFINITIONS("-DTHEMEFILE=\"${EDJEDIR}/${THEME_EDJ}\"")
130 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE_NAME}\"")
131 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
132 ADD_DEFINITIONS("-DDOMAIN_NAME=\"${PROJECT_NAME}\"")
133 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
134
135 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
136
137 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
138
139 FOREACH(flag ${PKGS_CFLAGS})
140         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
141 ENDFOREACH(flag)
142
143 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror -fPIE -Wno-stringop-truncation -Wno-stringop-overflow -Wno-format-truncation")
144 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
145
146 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
147 CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml)
148
149 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
150 INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${PACKAGEDIR})
151 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
152 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${DESKTOP_ICON} DESTINATION ${DESKTOP_ICONDIR})
153 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/images DESTINATION ${RESDIR})
154 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME ${PROJECT_NAME})
155
156 ADD_SUBDIRECTORY(res/edc)