1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(music-player C)
4 EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
5 message("Building by ${CMAKE_SYSTEM_VERSION} machine")
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
18 src/common/mp-common.c
22 src/common/mp-ug-launch.c
23 src/common/mp-widget.c
27 src/common/mp-view-manager.c
28 src/common/mp-media-info.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
37 src/widget/mp-search.c
38 src/widget/mp-smart-event-box.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
47 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include
54 src/oem/shazam/include
57 SET(SRCS ${COMMON_SRCS} ${RICH_INFO_SRCS})
59 INCLUDE(FindPkgConfig)
60 pkg_check_modules(pkgs REQUIRED
79 capi-appfw-application
80 capi-appfw-app-manager
81 capi-media-sound-manager
83 capi-media-metadata-extractor
87 capi-content-media-content
88 capi-system-system-settings
91 FOREACH(flag ${pkgs_CFLAGS})
92 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
94 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
95 #SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMUSIC_DEBUG")
96 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE}")
98 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
99 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
100 SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -g -fpie")
101 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
102 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
104 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
105 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
107 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
109 MESSAGE("### CMAKE_SYSTEM_VERSION :: ${CMAKE_SYSTEM_VERSION} ###")
110 if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm" OR "${CMAKE_SYSTEM_VERSION}" STREQUAL "armv7l")
111 ADD_DEFINITIONS("-D__ARM__")
112 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
114 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
117 ADD_CUSTOM_TARGET(mp-custom-winset-style.edj
118 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
119 ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj
120 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-custom-winset-style.edc
122 ADD_DEPENDENCIES(${PROJECT_NAME} mp-custom-winset-style.edj)
124 ADD_CUSTOM_TARGET(mp-library.edj
125 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
126 ${CMAKE_SOURCE_DIR}/layout/mp-library.edc ${CMAKE_BINARY_DIR}/layout/mp-library.edj
127 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-library.edc
129 ADD_DEPENDENCIES(${PROJECT_NAME} mp-library.edj)
131 ADD_CUSTOM_TARGET(music.edj
132 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
133 ${CMAKE_SOURCE_DIR}/layout/music.edc ${CMAKE_BINARY_DIR}/layout/music.edj
134 DEPENDS ${CMAKE_SOURCE_DIR}/layout/music.edc
136 ADD_DEPENDENCIES(${PROJECT_NAME} music.edj)
138 ADD_CUSTOM_TARGET(mp-minicontroller.edj
139 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
140 ${CMAKE_SOURCE_DIR}/layout/mp-minicontroller.edc ${CMAKE_BINARY_DIR}/layout/mp-minicontroller.edj
141 DEPENDS ${CMAKE_SOURCE_DIR}/layout/mp-minicontroller.edc
143 ADD_DEPENDENCIES(${PROJECT_NAME} mp-minicontroller.edj)
145 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
146 SET(BINDIR "${PREFIX}/bin")
147 SET(RESDIR "${PREFIX}/res")
148 SET(DATADIR "${PREFIX}/data")
149 SET(LOCALEDIR "${RESDIR}/locale")
150 SET(ICONDIR "${RESDIR}/icons/default/small")
151 SET(EDJDIR "${RESDIR}/edje")
153 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
154 ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
155 ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
156 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
157 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
158 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
161 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
162 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-custom-winset-style.edj DESTINATION ${EDJDIR})
163 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
164 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
165 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-minicontroller.edj DESTINATION ${EDJDIR})
166 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/mp-library.edj DESTINATION ${EDJDIR})
167 INSTALL(FILES ${CMAKE_BINARY_DIR}/layout/music.edj DESTINATION ${EDJDIR})
168 INSTALL(DIRECTORY DESTINATION ${DATADIR})
170 # install desktop file & icon
171 #CONFIGURE_FILE(data/org.tizen.music-player.desktop.in org.tizen.music-player.desktop)
172 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.music-player.desktop DESTINATION /opt/share/applications)
173 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/org.tizen.music-player.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
174 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/target_images/music_player DESTINATION ${RESDIR}/icons)
177 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.music-player.xml DESTINATION /opt/share/packages)
180 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/music-player.uri DESTINATION /opt/share/miregex)
185 #ADD_SUBDIRECTORY(data)
188 ADD_SUBDIRECTORY(sound-player)