Make the Ubuntu and Fedora packages depend on sparsehash, and use the builtin taglib by default if the system's version is too old

(cherry picked from commits e5b2cacb20 and b42e93d29b)
This commit is contained in:
David Sansome 2012-10-27 17:25:27 -07:00
parent a80539d05b
commit f5962dd945
4 changed files with 15 additions and 10 deletions

View File

@ -311,7 +311,6 @@ endif()
set_target_properties(tag PROPERTIES set_target_properties(tag PROPERTIES
VERSION ${TAGLIB_SOVERSION_MAJOR}.${TAGLIB_SOVERSION_MINOR}.${TAGLIB_SOVERSION_PATCH} VERSION ${TAGLIB_SOVERSION_MAJOR}.${TAGLIB_SOVERSION_MINOR}.${TAGLIB_SOVERSION_PATCH}
SOVERSION ${TAGLIB_SOVERSION_MAJOR} SOVERSION ${TAGLIB_SOVERSION_MAJOR}
INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
DEFINE_SYMBOL MAKE_TAGLIB_LIB DEFINE_SYMBOL MAKE_TAGLIB_LIB
LINK_INTERFACE_LIBRARIES "" LINK_INTERFACE_LIBRARIES ""
) )
@ -320,7 +319,7 @@ foreach(header ${tag_HDRS})
get_filename_component(header_name ${header} NAME) get_filename_component(header_name ${header} NAME)
configure_file( configure_file(
"${header}" "${header}"
"${CMAKE_CURRENT_BINARY_DIR}/headers/${header_name}" "${CMAKE_CURRENT_BINARY_DIR}/headers/taglib/${header_name}"
COPY_ONLY COPY_ONLY
) )
endforeach() endforeach()

View File

@ -73,12 +73,17 @@ find_path(LASTFM1_INCLUDE_DIRS lastfm/Track.h)
find_path(SPARSEHASH_INCLUDE_DIRS google/sparsetable) find_path(SPARSEHASH_INCLUDE_DIRS google/sparsetable)
# Compile our own taglib if requested. This is so we can build with Google # Google Drive support needs Taglib 1.8, but this version isn't in old Ubuntu
# Drive support on old versions of Ubuntu. # distros. If the user seems to want Drive support (ie. they have sparsehash
option(USE_BUILTIN_TAGLIB "Compile a builtin Taglib instead of using the system's version" OFF) # installed and haven't disabled drive), and has an old taglib, compile our
if(USE_BUILTIN_TAGLIB) # 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
(NOT "${ENABLE_GOOGLE_DRIVE}" STREQUAL "OFF") AND
SPARSEHASH_INCLUDE_DIRS AND
TAGLIB_VERSION VERSION_LESS 1.8)
set(TAGLIB_VERSION 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_LIBRARY_DIRS "")
set(TAGLIB_LIBRARIES tag) set(TAGLIB_LIBRARIES tag)
add_subdirectory(3rdparty/taglib) add_subdirectory(3rdparty/taglib)
@ -188,7 +193,7 @@ optional_component(BREAKPAD OFF "Crash reporting")
optional_component(GOOGLE_DRIVE ON "Google Drive support" optional_component(GOOGLE_DRIVE ON "Google Drive support"
DEPENDS "Google sparsehash" SPARSEHASH_INCLUDE_DIRS 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" optional_component(AUDIOCD ON "Devices: Audio CD support"

3
debian/control vendored
View File

@ -32,7 +32,8 @@ Build-Depends: debhelper (>= 7),
libprotobuf-dev, libprotobuf-dev,
libqca2-dev, libqca2-dev,
libchromaprint-dev | libfftw3-dev, libchromaprint-dev | libfftw3-dev,
libfftw3-dev libfftw3-dev,
libsparsehash-dev
Standards-Version: 3.8.1 Standards-Version: 3.8.1
Homepage: http://www.clementine-player.org/ Homepage: http://www.clementine-player.org/

View File

@ -14,7 +14,7 @@ BuildRequires: qt4-devel boost-devel gcc-c++ glew-devel libgpod-devel
BuildRequires: cmake gstreamer-devel gstreamer-plugins-base-devel BuildRequires: cmake gstreamer-devel gstreamer-plugins-base-devel
BuildRequires: libimobiledevice-devel libplist-devel usbmuxd-devel BuildRequires: libimobiledevice-devel libplist-devel usbmuxd-devel
BuildRequires: libmtp-devel protobuf-devel protobuf-compiler libcdio-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 Requires: libgpod protobuf-lite libcdio qjson qca-ossl