mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 19:02:53 +00:00
72 lines
3.2 KiB
CMake
72 lines
3.2 KiB
CMake
project(AudioThumbs)
|
|
|
|
cmake_minimum_required(VERSION 2.6.2)
|
|
|
|
find_package(KDE4 REQUIRED)
|
|
include (KDE4Defaults)
|
|
|
|
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)
|
|
MACRO_ENSURE_VERSION2("1.4" ${TAGLIB_VERSION} TAGLIB_INSTALLED_VERSION_OK)
|
|
if(TAGLIB_INSTALLED_VERSION_OK)
|
|
set(HAVE_TAGLIB 1)
|
|
message(STATUS "TagLib found: ${TAGLIB_LIBRARIES}")
|
|
endif(TAGLIB_INSTALLED_VERSION_OK)
|
|
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})
|
|
|
|
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})
|