2 FIND_PATH( KONQSIDEBAR_INCLUDE_DIR konqsidebarplugin.h
8 if(KONQSIDEBAR_INCLUDE_DIR)
9 # add_subdirectory( konquisidebar ) #disabling for now
10 else(KONQSIDEBAR_INCLUDE_DIR)
11 MESSAGE(STATUS "You're missing the kdebase header files")
12 MESSAGE(STATUS "Konqueror sidebar will not be compiled.")
13 endif(KONQSIDEBAR_INCLUDE_DIR)
14 ADD_DEFINITIONS(${TAGLIB_CFLAGS})
17 ADD_DEFINITIONS(-DHAVE_MP4V2)
18 include_directories( ${MP4V2_INCLUDE_DIR} )
21 add_subdirectory( amarokcore )
22 add_subdirectory( contextview )
23 add_subdirectory( data )
24 add_subdirectory( images )
25 add_subdirectory( loader )
26 add_subdirectory( scripts )
27 add_subdirectory( themes )
28 add_subdirectory( vis )
29 add_subdirectory( metadata )
30 add_subdirectory( engine )
31 add_subdirectory( mediadevice )
32 add_subdirectory( collectionscanner )
33 #add_subdirectory( device ) #not necessary at the moment, enable again when devicemanager has been ported to Solid
35 OPTION(USE_SYSTEM_SQLITE "Use system sqlite instead of amarok's own copy" OFF)
36 if (USE_SYSTEM_SQLITE)
37 find_package(Sqlite REQUIRED)
39 else (USE_SYSTEM_SQLITE)
85 endif (USE_SYSTEM_SQLITE)
95 servicebrowser/magnatunestore
96 ${CMAKE_CURRENT_SOURCE_DIR}
99 ${CMAKE_CURRENT_BINARY_DIR} #for amarokconfig.h
104 set(libamarokcore_SRCS
105 amarokcore/amarokdbushandler.cpp
106 amarokcore/crashhandler.cpp
108 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.collection.xml amarokcore/amarokdbushandler.h Amarok::DbusCollectionHandler)
109 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.contextbrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusContextBrowserHandler)
110 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.mediabrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusMediaBrowserHandler)
111 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.player.xml amarokcore/amarokdbushandler.h Amarok::DbusPlayerHandler)
112 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlist.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistHandler)
113 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlistbrowse.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistBrowserHandler)
114 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.script.xml amarokcore/amarokdbushandler.h Amarok::DbusScriptHandler)
120 plugin/pluginconfig.cpp
124 set(libservicebrowser_SRCS
125 servicebrowser/servicebrowser.cpp
126 servicebrowser/servicebase.cpp
127 servicebrowser/servicemodelitembase.cpp
128 servicebrowser/servicemodelbase.cpp)
130 set(libscriptableservice_SRCS
131 servicebrowser/scriptableservice/scriptableservicemanager.cpp
132 servicebrowser/scriptableservice/scriptableservicecontentitem.cpp
133 servicebrowser/scriptableservice/scriptableservice.cpp
134 servicebrowser/scriptableservice/scriptableservicecontentmodel.cpp)
137 qt4_add_dbus_adaptor( libscriptableservice_SRCS servicebrowser/scriptableservice/org.kde.amarok.ScriptableServiceManager.xml servicebrowser/scriptableservice/scriptableservicemanager.h ScriptableServiceManager)
139 set(libmagnatunestore_SRCS
140 servicebrowser/magnatunestore/magnatuneinfoparser.cpp
141 servicebrowser/magnatunestore/magnatunebrowser.cpp
142 servicebrowser/magnatunestore/magnatunedownloaddialog.cpp
143 servicebrowser/magnatunestore/magnatunepurchasedialog.cpp
144 servicebrowser/magnatunestore/magnatunepurchasehandler.cpp
145 servicebrowser/magnatunestore/magnatunetypes.cpp
146 servicebrowser/magnatunestore/magnatunexmlparser.cpp
147 servicebrowser/magnatunestore/magnatunedatabasehandler.cpp
148 servicebrowser/magnatunestore/magnatuneredownloaddialog.cpp
149 servicebrowser/magnatunestore/magnatuneredownloadhandler.cpp
150 servicebrowser/magnatunestore/magnatunedownloadinfo.cpp
151 servicebrowser/magnatunestore/magnatunealbumdownloader.cpp
152 servicebrowser/magnatunestore/magnatunecontentitem.cpp
153 servicebrowser/magnatunestore/magnatunecontentmodel.cpp)
155 kde4_add_ui3_files(libmagnatunestore_SRCS
156 servicebrowser/magnatunestore/magnatunedownloaddialogbase.ui
157 servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
158 servicebrowser/magnatunestore/magnatuneredownloaddialogbase.ui)
161 set(libcollectionbrowser_SRCS
162 collectionbrowser/collectionbrowserview.cpp
163 collectionbrowser/collectiontreeitemmodel.cpp
164 collectionbrowser/collectiontreeitem.cpp
167 set(libcontextview_SRCS
168 contextview/contextview.cpp
169 contextview/contextbox.cpp
170 ${CMAKE_CURRENT_SOURCE_DIR}/contextview/albumbox.cpp
171 ${CMAKE_CURRENT_SOURCE_DIR}/contextview/cloudbox.cpp
175 set(libanalyzers_SRCS
176 analyzers/analyzerbase.cpp
177 analyzers/analyzerfactory.cpp
178 analyzers/baranalyzer.cpp
179 analyzers/blockanalyzer.cpp
180 analyzers/glanalyzer.cpp
181 analyzers/glanalyzer2.cpp
182 analyzers/glanalyzer3.cpp
183 analyzers/sonogram.cpp
184 # analyzers/turbine.cpp
185 #analyzers/boomanalyzer.cpp
188 set(libstatusbar_SRCS
189 statusbar/statusBarBase.cpp
190 statusbar/statusbar.cpp
191 statusbar/overlayWidget.cpp
192 statusbar/popupMessage.cpp
193 statusbar/progressBar.cpp
194 statusbar/squeezedtextlabel.cpp
195 statusbar/queueLabel.cpp
196 statusbar/selectLabel.cpp
199 ########### next target ###############
201 set(amarok_LIB_SRCS ${libamarokcore_SRCS} ${libplugin_SRCS} ${libstatusbar_SRCS}
202 ${libsqlite_SRCS} ${libservicebrowser_SRCS} ${libscriptableservice_SRCS}
203 ${libmagnatunestore_SRCS} ${libanalyzers_SRCS} ${libcollectionbrowser_SRCS}
204 ${libcontextview_SRCS}
205 collection/sqlregistry.cpp
206 collection/sqlmeta.cpp
212 collectionbrowser.cpp
222 deviceconfiguredialog.cpp
232 equalizerpresetmanager.cpp
245 mediadevicemanager.cpp
247 mediumpluginmanager.cpp
251 mountpointmanager.cpp
257 playlistbrowseritem.cpp
260 playlistselection.cpp
276 smartplaylisteditor.cpp
284 trackpickerdialog.cpp
291 kde4_add_kcfg_files(amarok_LIB_SRCS amarokcore/amarokconfig.kcfgc)
293 set(amarok_collectionscanner_xml collectionscanner/org.kde.amarok.scanner.xml)
295 QT4_ADD_DBUS_INTERFACE( amarok_LIB_SRCS ${amarok_collectionscanner_xml} amarok_collection_scanner_interface )
299 kde4_automoc(${amarok_LIB_SRCS})
301 kde4_add_ui3_files(amarok_LIB_SRCS
311 organizecollectiondialog.ui
312 podcastsettingsbase.ui
314 # tagguesserconfigdialog.ui
315 trackpickerdialogbase.ui )
317 kde4_add_ui_files(amarok_LIB_SRCS
320 tagguesserconfigdialog.ui
323 kde4_add_library(amarok SHARED ${amarok_LIB_SRCS})
325 target_link_libraries(amarok
326 ${KDE4_KUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_KNEWSTUFF_LIBS}
328 ${KDE4_KDE3SUPPORT_LIBS} dl
332 if(USE_SYSTEM_SQLITE)
333 target_link_libraries(amarok ${SQLITE_LIBRARIES})
334 endif(USE_SYSTEM_SQLITE)
336 set_target_properties(amarok PROPERTIES VERSION 1.0.0 SOVERSION 1 )
337 install(TARGETS amarok DESTINATION ${LIB_INSTALL_DIR} )
340 ########### next target ###############
342 set(amarokapp_SRCS main.cpp )
344 kde4_automoc(${amarokapp_SRCS})
346 kde4_add_executable(amarokapp ${amarokapp_SRCS})
348 target_link_libraries(amarokapp ${KDE4_KDECORE_LIBS} amarok )
350 install(TARGETS amarokapp DESTINATION ${BIN_INSTALL_DIR})
353 ########### install files ###############
355 install(FILES amarok.desktop DESTINATION ${XDG_APPS_DIR} )
356 install(FILES amarok.profile.xml DESTINATION ${DATA_INSTALL_DIR}/profiles )
357 install(FILES amarokrc DESTINATION ${CONFIG_INSTALL_DIR})
358 install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
359 install(FILES amarokui.rc DESTINATION ${DATA_INSTALL_DIR}/amarok)
360 install(FILES amarok_append.desktop DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus)
362 kde4_install_icons( ${ICON_INSTALL_DIR} )