apply FSL(Flora Software License)
[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-menu.c
21         src/common/mp-widget.c
22         src/common/mp-util.c
23         src/common/mp-play.c
24         src/common/mp-app.c
25         src/common/mp-view-manager.c
26
27         src/view/mp-library.c
28         src/view/mp-track-view.c
29         src/view/mp-group-view.c
30         src/view/mp-playlist-view.c
31         src/view/mp-play-view.c
32         src/view/mp-edit-view.c
33
34         src/widget/mp-search.c
35         src/widget/mp-smart-event-box.c
36         src/widget/mp-popup.c
37         src/widget/mp-view-layout.c
38         src/core/mp-http-mgr.c
39 )
40
41 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include
42         src/include
43         src/common/include
44         src/core/include
45         src/list/include
46         src/view/include
47         src/widget/include
48 )
49
50 SET(SRCS ${COMMON_SRCS} ${RICH_INFO_SRCS})
51
52 INCLUDE(FindPkgConfig)
53 pkg_check_modules(pkgs REQUIRED
54         appcore-efl
55         elementary
56         ecore
57         utilX
58         mm-player
59         mm-sound
60         libmedia-service
61         dlog
62         ui-gadget
63         mm-session
64         mm-fileinfo
65         syspopup-caller
66         pmapi
67         vconf
68         libxml-2.0
69         eina
70         ecore-imf
71         ecore-x
72         ecore-file
73         ecore-input
74         edje
75         appsvc
76         evas
77         devman_haptic
78         svi
79 )
80
81 FOREACH(flag ${pkgs_CFLAGS})
82         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
83 ENDFOREACH(flag)
84 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE}")
85
86 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
87
88 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
89 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
90
91 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
92
93 if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm")
94 ADD_DEFINITIONS("-D__ARM__")
95 endif()
96
97 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
98
99 ADD_CUSTOM_TARGET(mp-custom-winset-style.edj
100                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
101                 ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj
102                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc
103 )
104 ADD_DEPENDENCIES(${PROJECT_NAME} mp-custom-winset-style.edj)
105
106 ADD_CUSTOM_TARGET(mp-library.edj
107                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
108                 ${CMAKE_SOURCE_DIR}/layout/mp-library.edc ${CMAKE_BINARY_DIR}/layout/mp-library.edj
109                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-library.edc
110 )
111 ADD_DEPENDENCIES(${PROJECT_NAME} mp-library.edj)
112
113 ADD_CUSTOM_TARGET(music.edj
114                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
115                 ${CMAKE_SOURCE_DIR}/layout/music.edc ${CMAKE_BINARY_DIR}/layout/music.edj
116                 DEPENDS ${CMAKE_SOURCE_DIR}/layout/music.edc
117 )
118 ADD_DEPENDENCIES(${PROJECT_NAME} music.edj)
119
120 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
121 SET(BINDIR "${PREFIX}/bin")
122 SET(RESDIR "${PREFIX}/res")
123 SET(DATADIR "${PREFIX}/data")
124 SET(LOCALEDIR "${RESDIR}/locale")
125 SET(ICONDIR "${RESDIR}/icons/default/small")
126 SET(EDJDIR "${RESDIR}/edje")
127
128 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
129 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
130 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
131 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
132 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
133 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
134
135
136 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
137 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj DESTINATION ${EDJDIR})
138 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
139 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
140 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
141 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
142 INSTALL(DIRECTORY DESTINATION ${DATADIR})
143
144 # install desktop file & icon
145 CONFIGURE_FILE(data/org.tizen.music-player.desktop.in org.tizen.music-player.desktop)
146 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.music-player.desktop DESTINATION /opt/share/applications)
147 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/org.tizen.music-player.png DESTINATION ${ICONDIR})
148 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/target_images/music_player DESTINATION ${RESDIR}/icons)
149
150 # install menu icon
151 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/music-player.uri DESTINATION /opt/share/miregex)
152
153
154 # i18n
155 ADD_SUBDIRECTORY(po)
156 #ADD_SUBDIRECTORY(data)
157