diff --git a/3rdparty/taglib/CMakeLists.txt b/3rdparty/taglib/CMakeLists.txt index b06837c3c..e736a74ca 100644 --- a/3rdparty/taglib/CMakeLists.txt +++ b/3rdparty/taglib/CMakeLists.txt @@ -320,7 +320,7 @@ foreach(header ${tag_HDRS}) get_filename_component(header_name ${header} NAME) configure_file( "${header}" - "${CMAKE_CURRENT_BINARY_DIR}/headers/${header_name}" + "${CMAKE_CURRENT_BINARY_DIR}/headers/taglib/${header_name}" COPY_ONLY ) endforeach() diff --git a/CMakeLists.txt b/CMakeLists.txt index c3a4115f6..36ddf5c4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,12 +73,15 @@ find_path(LASTFM1_INCLUDE_DIRS lastfm/Track.h) find_path(SPARSEHASH_INCLUDE_DIRS google/sparsetable) -# Compile our own taglib if requested. This is so we can build with Google -# Drive support on old versions of Ubuntu. -option(USE_BUILTIN_TAGLIB "Compile a builtin Taglib instead of using the system's version" OFF) -if(USE_BUILTIN_TAGLIB) +# Google Drive support needs Taglib 1.8, but this version isn't in old Ubuntu +# distros. If the user seems to want Drive support (ie. they have sparsehash +# installed and haven't disabled drive), and has an old taglib, compile our +# internal one and use that instead. +option(USE_BUILTIN_TAGLIB "If the system's version of Taglib is too old for Google Drive support, compile our builtin version instead" ON) +if (USE_BUILTIN_TAGLIB AND ENABLE_GOOGLE_DRIVE AND SPARSEHASH_INCLUDE_DIRS AND + TAGLIB_VERSION VERSION_LESS 1.8) set(TAGLIB_VERSION 1.8) - set(TAGLIB_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/3rdparty/taglib/headers/") + set(TAGLIB_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/3rdparty/taglib/headers/taglib/;${CMAKE_BINARY_DIR}/3rdparty/taglib/headers/") set(TAGLIB_LIBRARY_DIRS "") set(TAGLIB_LIBRARIES tag) add_subdirectory(3rdparty/taglib) @@ -178,7 +181,7 @@ optional_component(BREAKPAD OFF "Crash reporting") optional_component(GOOGLE_DRIVE ON "Google Drive support" DEPENDS "Google sparsehash" SPARSEHASH_INCLUDE_DIRS - DEPENDS "Taglib 1.8 beta" "TAGLIB_VERSION VERSION_GREATER 1.7.999" + DEPENDS "Taglib 1.8" "TAGLIB_VERSION VERSION_GREATER 1.7.999" ) optional_component(AUDIOCD ON "Devices: Audio CD support" diff --git a/debian/control b/debian/control index 1e1faf300..4c508331b 100644 --- a/debian/control +++ b/debian/control @@ -32,7 +32,8 @@ Build-Depends: debhelper (>= 7), libprotobuf-dev, libqca2-dev, libchromaprint-dev | libfftw3-dev, - libfftw3-dev + libfftw3-dev, + libsparsehash-dev Standards-Version: 3.8.1 Homepage: http://www.clementine-player.org/ diff --git a/dist/clementine.spec.in b/dist/clementine.spec.in index dda1b78b8..2aa2d8b42 100644 --- a/dist/clementine.spec.in +++ b/dist/clementine.spec.in @@ -14,7 +14,7 @@ BuildRequires: qt4-devel boost-devel gcc-c++ glew-devel libgpod-devel BuildRequires: cmake gstreamer-devel gstreamer-plugins-base-devel BuildRequires: libimobiledevice-devel libplist-devel usbmuxd-devel BuildRequires: libmtp-devel protobuf-devel protobuf-compiler libcdio-devel -BuildRequires: qjson-devel qca2-devel fftw-devel +BuildRequires: qjson-devel qca2-devel fftw-devel sparsehash-devel Requires: libgpod protobuf-lite libcdio qjson qca-ossl