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 \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 \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}) set(AudioThumbs_SRCS AudioThumbs.cpp) kde4_add_plugin(AudioThumbs ${AudioThumbs_SRCS}) target_link_libraries(AudioThumbs ${KDE4_KIO_LIBS} ${TAGLIB_LIBRARIES} ${FLAC_LIBRARIES} ) install(TARGETS AudioThumbs DESTINATION ${PLUGIN_INSTALL_DIR} ) install(FILES AudioThumbs.desktop DESTINATION ${SERVICES_INSTALL_DIR})