endif()
macro_optional_find_package(GettextPO)
-
set_package_properties(GettextPO PROPERTIES
DESCRIPTION "A library for processing PO files"
URL "www.gnu.org/software/gettext"
PURPOSE "Required to build the PO thumbnailer"
)
-macro_optional_add_subdirectory(audio)
+macro_optional_find_package(Taglib)
+set_package_properties(Taglib PROPERTIES
+ DESCRIPTION "Id3 tag reader"
+ URL "http://developer.kde.org/~wheeler/taglib.html"
+ PURPOSE "Required to build the audio thumbnailer"
+)
+
+macro_optional_find_package(FLAC++)
+set_package_properties(FLAC++ PROPERTIES
+ DESCRIPTION "Free Lossless Audio Codec"
+ URL "https://xiph.org/flac/"
+ PURPOSE "Required to build the audio thumbnailer"
+)
+
+if(TAGLIB_FOUND AND FLAC_FOUND)
+ macro_optional_add_subdirectory(audio)
+endif()
macro_optional_add_subdirectory(ps)
macro_optional_add_subdirectory(raw)
project(AudioThumbs)
-set(WITH_TAGLIB ON CACHE BOOL "build with TagLib")
-set(WITH_FLAC ON CACHE BOOL "build with FLAC")
-
-### Check for taglib
-set(TAGLIB_LIBRARIES)
-set(TAGLIB_CFLAGS)
-if(WITH_TAGLIB)
- find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS /usr/bin /usr/local/bin ${BIN_INSTALL_DIR})
- if(TAGLIBCONFIG_EXECUTABLE)
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
- if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS AND TAGLIB_VERSION)
- if(NOT "${TAGLIB_VERSION}" VERSION_LESS "1.4")
- set(HAVE_TAGLIB 1)
- message(STATUS "TagLib found: ${TAGLIB_LIBRARIES}")
- endif()
- endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS AND TAGLIB_VERSION)
- endif(TAGLIBCONFIG_EXECUTABLE)
- if (NOT HAVE_TAGLIB)
- message(FATAL_ERROR "Could not find Taglib")
- endif (NOT HAVE_TAGLIB)
-endif(WITH_TAGLIB)
-
-### Check for FLAC++
-set(FLAC_LIBRARIES)
-if(WITH_FLAC)
- find_path(FLACPP_INCLUDE_DIR FLAC++/metadata.h)
- find_library(FLAC_LIBRARY NAMES FLAC)
- find_library(FLACPP_LIBRARY NAMES FLAC++)
- if(FLACPP_INCLUDE_DIR AND FLAC_LIBRARY AND FLACPP_LIBRARY)
- set(FLAC_LIBRARIES ${FLACPP_LIBRARY} ${FLAC_LIBRARY})
- message(STATUS "FLAC++ found: ${FLAC_LIBRARIES}")
- set(HAVE_FLAC 1)
-
- set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FLAC_LIBRARIES} ${FLACPP_LIBRARIES})
- CHECK_CXX_SOURCE_COMPILES("#include <FLAC++/metadata.h>\nint main() {\n FLAC::Metadata::VorbisComment vc;\n const ::FLAC__StreamMetadata* fsmd = vc;\n return 0;\n}\n" FLAC_STREAMMETADATA_OPERATOR_FOUND)
- CHECK_CXX_SOURCE_COMPILES("#include <FLAC++/metadata.h>\nint main() {\n FLAC::Metadata::Picture pic;\n return 0;\n}\n" FLAC_METADATA_PICTURE_FOUND)
- set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
-
- if(NOT FLAC_STREAMMETADATA_OPERATOR_FOUND)
- set(HAVE_NO_FLAC_STREAMMETADATA_OPERATOR 1)
- endif(NOT FLAC_STREAMMETADATA_OPERATOR_FOUND)
- if(FLAC_METADATA_PICTURE_FOUND)
- set(HAVE_FLAC_PICTURE 1)
- endif(FLAC_METADATA_PICTURE_FOUND)
- else(FLACPP_INCLUDE_DIR AND FLAC_LIBRARY AND FLACPP_LIBRARY)
- message(FATAL_ERROR "Could not find FLAC++")
- endif(FLACPP_INCLUDE_DIR AND FLAC_LIBRARY AND FLACPP_LIBRARY)
-endif(WITH_FLAC)
-
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} ${TAGLIB_CFLAGS} -DHAVE_CONFIG_H=1 -DKDE_NO_COMPAT)
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${QT_INCLUDES})
+include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${QT_INCLUDES} ${FLAC_INCLUDES})
set(AudioThumbs_SRCS AudioThumbs.cpp)
kde4_add_plugin(AudioThumbs ${AudioThumbs_SRCS})
-target_link_libraries(AudioThumbs ${KDE4_KIO_LIBS} ${TAGLIB_LIBRARIES} ${FLAC_LIBRARIES} )
+target_link_libraries(AudioThumbs ${KDE4_KIO_LIBS} ${TAGLIB_LIBRARIES} ${FLAC_LIBRARIES})
install(TARGETS AudioThumbs DESTINATION ${PLUGIN_INSTALL_DIR} )