From b4f80bc3637328b64d0a54caf5033b2bcf29a8d2 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Mon, 21 Feb 2011 18:00:02 +0100 Subject: [PATCH] Check for required packages kde-style. --- CMakeLists.txt | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e78eba98c..a2a7407f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,25 +14,42 @@ ELSE() FIND_PACKAGE( Qt4 4.6.0 COMPONENTS QtGui QtCore QtXml QtNetwork REQUIRED ) ENDIF() +#deps +INCLUDE( MacroOptionalFindPackage ) +INCLUDE( MacroLogFeature ) + +# required +macro_optional_find_package(LibLastFm 0.3.3) +macro_log_feature(LIBLASTFM_FOUND "LastFm" "Qt library for the Last.fm webservices" "https://github.com/mxcl/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork") + +macro_optional_find_package(LibEchonest 1.1.1) +macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest is needed for dynamic playlists and the infosystem") + +macro_optional_find_package(CLucene 0.9.23) +macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection") + +macro_optional_find_package(QJSON) +macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances") + +macro_optional_find_package(Taglib 1.6.0) +macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://developer.kde.org/~wheeler/taglib.html" TRUE "" "taglib is needed for reading meta data from audio files") + + FIND_PACKAGE( Taglib 1.6.0 REQUIRED ) include( CheckTagLibFileName ) check_taglib_filename( COMPLEX_TAGLIB_FILENAME ) -# required deps -FIND_PACKAGE( LibLastFm 0.3.3 REQUIRED ) -FIND_PACKAGE( LibEchonest 1.1.1 REQUIRED ) -FIND_PACKAGE( CLucene 0.9.23 REQUIRED ) - -FIND_PACKAGE( QJSON REQUIRED ) - -# optional deps -INCLUDE( MacroOptionalFindPackage ) -INCLUDE( MacroLogFeature ) +# optional macro_optional_find_package(Gloox 1.0) macro_log_feature(GLOOX_FOUND "Gloox" "A portable high-level Jabber/XMPP library for C++" "http://camaya.net/gloox" FALSE "" "Gloox is needed for the Jabber SIP plugin and the XMPP-Bot") +#show dep log macro_display_feature_log() - +MESSAGE("WARNING!") +MESSAGE("Phonon is going to replace our own audio abstraction layer soon so we didn't") +MESSAGE("add checks for libmad, libvorbis and libflac. Make sure they are installed!") +MESSAGE("") +MESSAGE("-----------------------------------------------------------------------------") ADD_SUBDIRECTORY( thirdparty ) ADD_SUBDIRECTORY( src/libtomahawk )