change desktop icon
[apps/core/preloaded/music-player.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(music-player C)
3
4 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
5 message("Building by ${CMAKE_SYSTEM_VERSION} machine")
6
7 SET(COMMON_SRCS
8         src/mp-main.c
9
10         src/core/mp-file-tag-info.c
11         src/core/mp-player-control.c
12         src/core/mp-player-mgr.c
13         src/core/mp-player-drm.c
14         src/core/mp-setting-ctrl.c
15         src/core/mp-play-list.c
16         src/core/mp-streaming-mgr.c
17
18         src/common/mp-common.c
19                 src/common/mp-item.c
20                 src/common/mp-ta.c
21                 src/common/mp-menu.c
22                 src/common/mp-ug-launch.c
23                 src/common/mp-widget.c
24                 src/common/mp-util.c
25         src/common/mp-play.c
26         src/common/mp-app.c
27         src/common/mp-view-manager.c
28         src/common/mp-media-info.c
29
30         src/view/mp-library.c
31         src/view/mp-track-view.c
32         src/view/mp-group-view.c
33         src/view/mp-playlist-view.c
34         src/view/mp-play-view.c
35         src/view/mp-edit-view.c
36
37         src/widget/mp-search.c
38         src/widget/mp-smart-event-box.c
39         src/widget/mp-popup.c
40         src/widget/mp-view-layout.c
41         src/widget/mp-minicontroller.c
42 #               src/widget/mp-mini-player.c
43         src/core/mp-http-mgr.c
44         src/core/mp-language-mgr.c
45 )
46
47 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include
48         src/include
49         src/common/include
50         src/core/include
51         src/list/include
52         src/view/include
53         src/widget/include
54         src/oem/shazam/include
55 )
56
57 SET(SRCS ${COMMON_SRCS} ${RICH_INFO_SRCS})
58
59 INCLUDE(FindPkgConfig)
60 pkg_check_modules(pkgs REQUIRED
61         elementary
62         ecore
63         dlog
64         drm-client
65         glib-2.0
66         ui-gadget-1
67         syspopup-caller
68         capi-system-power
69         vconf
70         libxml-2.0
71         eina
72         ecore-imf
73         ecore-x
74         ecore-file
75         ecore-input
76         libcrypto
77         edje
78         evas
79         capi-appfw-application
80         capi-appfw-app-manager
81         capi-media-sound-manager
82         capi-media-player
83         capi-media-metadata-extractor
84         capi-system-haptic
85         minicontrol-provider
86         capi-system-media-key
87         capi-content-media-content
88 )
89
90 FOREACH(flag ${pkgs_CFLAGS})
91         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
92 ENDFOREACH(flag)
93 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
94 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMUSIC_DEBUG")
95 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE}")
96
97 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
98 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
99 SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -g -fpie")
100 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
101 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
102
103 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
104 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
105
106 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
107
108 MESSAGE("### CMAKE_SYSTEM_VERSION :: ${CMAKE_SYSTEM_VERSION} ###")
109 if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm" OR "${CMAKE_SYSTEM_VERSION}" STREQUAL "armv7l")
110 ADD_DEFINITIONS("-D__ARM__")
111 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
112 else()
113 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
114 endif()
115
116 ADD_CUSTOM_TARGET(mp-custom-winset-style.edj
117                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
118                 ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj
119                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc
120 )
121 ADD_DEPENDENCIES(${PROJECT_NAME} mp-custom-winset-style.edj)
122
123 ADD_CUSTOM_TARGET(mp-library.edj
124                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
125                 ${CMAKE_SOURCE_DIR}/layout/mp-library.edc ${CMAKE_BINARY_DIR}/layout/mp-library.edj
126                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-library.edc
127 )
128 ADD_DEPENDENCIES(${PROJECT_NAME} mp-library.edj)
129
130 ADD_CUSTOM_TARGET(music.edj
131                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
132                 ${CMAKE_SOURCE_DIR}/layout/music.edc ${CMAKE_BINARY_DIR}/layout/music.edj
133                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/music.edc
134 )
135 ADD_DEPENDENCIES(${PROJECT_NAME} music.edj)
136
137 ADD_CUSTOM_TARGET(mp-minicontroller.edj
138                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
139                 ${CMAKE_SOURCE_DIR}/layout/mp-minicontroller.edc ${CMAKE_BINARY_DIR}/layout/mp-minicontroller.edj
140                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-minicontroller.edc
141 )
142 ADD_DEPENDENCIES(${PROJECT_NAME} mp-minicontroller.edj)
143
144 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
145 SET(BINDIR "${PREFIX}/bin")
146 SET(RESDIR "${PREFIX}/res")
147 SET(DATADIR "${PREFIX}/data")
148 SET(LOCALEDIR "${RESDIR}/locale")
149 SET(ICONDIR "${RESDIR}/icons/default/small")
150 SET(EDJDIR "${RESDIR}/edje")
151
152 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
153 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
154 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
155 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
156 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
157 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
158
159
160 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
161 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj DESTINATION ${EDJDIR})
162 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
163 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
164 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-minicontroller.edj DESTINATION ${EDJDIR})
165 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
166 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
167 INSTALL(DIRECTORY DESTINATION ${DATADIR})
168
169 # install desktop file & icon
170 #CONFIGURE_FILE(data/org.tizen.music-player.desktop.in org.tizen.music-player.desktop)
171 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.music-player.desktop DESTINATION /opt/share/applications)
172 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/org.tizen.music-player.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
173 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/target_images/music_player DESTINATION ${RESDIR}/icons)
174
175 #install xml file
176 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.music-player.xml DESTINATION /opt/share/packages)
177
178 # install menu icon
179 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/music-player.uri DESTINATION /opt/share/miregex)
180
181
182 # i18n
183 ADD_SUBDIRECTORY(po)
184 #ADD_SUBDIRECTORY(data)
185
186 # Sound Player
187 ADD_SUBDIRECTORY(sound-player)