diff --git a/CMakeLists.txt b/CMakeLists.txt index c870f65fd..ab2084e76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,8 +104,8 @@ if(PHONON_FOUND) message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4") endif() -macro_optional_find_package(LibEchonest 2.0.0) -macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.0.0 is needed for dynamic playlists and the infosystem") +macro_optional_find_package(Echonest 2.0.0) +macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.0.0 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") diff --git a/CMakeModules/FindEchonest.cmake b/CMakeModules/FindEchonest.cmake new file mode 100644 index 000000000..768d0eb4c --- /dev/null +++ b/CMakeModules/FindEchonest.cmake @@ -0,0 +1,36 @@ +# - Find libechonest +# Find the libechonest includes and the libechonest libraries +# This module defines +# ECHONEST_INCLUDE_DIR, root echonest include dir. Include echonest includes with echonest/foo.h +# ECHONEST_LIBRARIES, the path to libechonest +# ECHONEST_FOUND, whether libechonest was found + +FIND_PACKAGE(PkgConfig QUIET) +PKG_CHECK_MODULES(PC_ECHONEST QUIET libechonest) + +FIND_PATH(ECHONEST_INCLUDE_DIR NAMES echonest/Track.h + HINTS + ${PC_ECHONEST_INCLUDEDIR} + ${PC_ECHONEST_INCLUDE_DIRS} + ${CMAKE_INSTALL_INCLUDEDIR} + ${KDE4_INCLUDE_DIR} +) + +FIND_LIBRARY(ECHONEST_LIBRARIES NAMES echonest + HINTS + ${PC_ECHONEST_LIBDIR} + ${PC_ECHONEST_LIBRARY_DIRS} + ${CMAKE_INSTALL_LIBDIR} + ${KDE4_LIB_DIR} +) + +IF(ECHONEST_LIBRARIES AND ECHONEST_INCLUDE_DIR AND NOT PC_ECHONEST_VERSION) + MESSAGE(WARNING "You don't have pkg-config and so the libechonest version check does not work!") +ENDIF() + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Echonest + REQUIRED_VARS ECHONEST_LIBRARIES ECHONEST_INCLUDE_DIR + VERSION_VAR PC_ECHONEST_VERSION) + +MARK_AS_ADVANCED(ECHONEST_INCLUDE_DIR ECHONEST_LIBRARIES) diff --git a/CMakeModules/FindLibEchonest.cmake b/CMakeModules/FindLibEchonest.cmake deleted file mode 100644 index 9c78462f4..000000000 --- a/CMakeModules/FindLibEchonest.cmake +++ /dev/null @@ -1,42 +0,0 @@ -# - Find libechonest -# Find the libechonest includes and the libechonest libraries -# This module defines -# LIBECHONEST_INCLUDE_DIR, root echonest include dir. Include echonest includes with echonest/foo.h -# LIBECHONEST_LIBRARY, the path to libechonest -# LIBECHONEST_FOUND, whether libechonest was found - - -find_path(LIBECHONEST_INCLUDE_DIR NAMES echonest_export.h - HINTS - ~/usr/include - /opt/local/include - /usr/include - /usr/local/include - /opt/kde4/include - ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES echonest -) - -find_library( LIBECHONEST_LIBRARY NAMES echonest - PATHS - ~/usr/lib - /opt/local/lib - /usr/lib - /usr/lib64 - /usr/local/lib - /opt/kde4/lib - ${KDE4_LIB_DIR} -) - - -if(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY) - set(LIBECHONEST_FOUND TRUE) - message(STATUS "Found libechonest: ${LIBECHONEST_INCLUDE_DIR}, ${LIBECHONEST_LIBRARY}") -else(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY) - set(LIBECHONEST_FOUND FALSE) - if (LIBECHONEST_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find required package libechonest") - endif(LIBECHONEST_FIND_REQUIRED) -endif(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY) - -mark_as_advanced(LIBECHONEST_INCLUDE_DIR LIBECHONEST_LIBRARY) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ceff3889c..3174cc544 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -113,8 +113,7 @@ INCLUDE_DIRECTORIES( ${PHONON_INCLUDES} ${QJSON_INCLUDE_DIR} ${LIBATTICA_INCLUDE_DIR} - ${LIBECHONEST_INCLUDE_DIR} - ${LIBECHONEST_INCLUDE_DIR}/.. + ${ECHONEST_INCLUDE_DIR} ${LIBLASTFM_INCLUDE_DIRS} ${LIBLASTFM_INCLUDE_DIRS}/.. ) @@ -200,7 +199,7 @@ TARGET_LINK_LIBRARIES( tomahawk ${OS_SPECIFIC_LINK_LIBRARIES} ${QT_LIBRARIES} ${MAC_EXTRA_LIBS} - ${LIBECHONEST_LIBRARY} + ${ECHONEST_LIBRARIES} ${QXTWEB_LIBRARIES} ${QJSON_LIBRARIES} ${TAGLIB_LIBRARIES} diff --git a/src/infoplugins/generic/CMakeLists.txt b/src/infoplugins/generic/CMakeLists.txt index c077e1e77..60e981687 100644 --- a/src/infoplugins/generic/CMakeLists.txt +++ b/src/infoplugins/generic/CMakeLists.txt @@ -1,4 +1,4 @@ -include_directories(${LIBECHONEST_INCLUDE_DIR}) +include_directories(${ECHONEST_INCLUDE_DIR}) list(APPEND simple_plugins Echonest diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index ac084746f..ee43fc713 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -327,8 +327,7 @@ include_directories( . ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/. ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDE_DIR} ${QJSON_INCLUDE_DIR} - ${LIBECHONEST_INCLUDE_DIR} - ${LIBECHONEST_INCLUDE_DIR}/.. + ${ECHONEST_INCLUDE_DIR} ${LIBLASTFM_INCLUDE_DIRS} ${LIBLASTFM_INCLUDE_DIRS}/.. ${CLUCENE_INCLUDE_DIRS} @@ -440,7 +439,7 @@ TARGET_LINK_LIBRARIES( tomahawklib ${PHONON_LIBS} ${TAGLIB_LIBRARIES} ${CLUCENE_LIBRARIES} - ${LIBECHONEST_LIBRARY} + ${ECHONEST_LIBRARIES} ${QT_QTSQL_LIBRARY} ${QT_QTUITOOLS_LIBRARY} ${QT_QTGUI_LIBRARY}