aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt14
-rw-r--r--src/plugins/Input/CMakeLists.txt9
-rw-r--r--src/plugins/Input/mpeg/CMakeLists.txt61
3 files changed, 59 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 60781b64b..ed81396e7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,6 +60,7 @@ find_package(Qt5Multimedia 5.4.0)
ADD_DEFINITIONS(-DQMMP_WS_X11)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
+set(CMAKE_CXX_STANDARD 11)
get_target_property(QT_LRELEASE_EXECUTABLE Qt5::lrelease IMPORTED_LOCATION)
@@ -96,6 +97,14 @@ add_subdirectory(src/qmmpui)
add_subdirectory(src/plugins)
add_subdirectory(src/app)
+IF(MAD_FOUND)
+ SET(MPEG_DECODERS "MAD")
+ENDIF(MAD_FOUND)
+
+IF(MPG123_FOUND)
+ SET(MPEG_DECODERS ${MPEG_DECODERS} "mpg123")
+ENDIF(MPG123_FOUND)
+
MACRO(PRINT_SUMMARY str USE FOUND)
IF(${USE} AND ${FOUND})
MESSAGE("${str}enabled")
@@ -149,7 +158,7 @@ PRINT_SUMMARY ("MMS support ......................." USE_MMS MMS_FOUND)
MESSAGE("")
MESSAGE("Input Plugins:")
-PRINT_SUMMARY ("mp3 support ......................." USE_MAD MAD_FOUND)
+PRINT_SUMMARY ("MPEG support ......................" 1 MAD_FOUND OR MPG123_FOUND)
PRINT_SUMMARY ("FLAC support ......................" USE_FLAC FLAC_FOUND)
PRINT_SUMMARY ("Ogg Vorbis support ................" USE_VORBIS VORBIS_FOUND)
PRINT_SUMMARY ("Musepack support .................." USE_MPC MPC_FOUND)
@@ -227,5 +236,8 @@ PRINT_SUMMARY ("Simple user interface (QSUI) ......" USE_QSUI 1)
PRINT_SUMMARY ("Automatic charset detection ......." USE_ENCA ENCA_FOUND)
PRINT_SUMMARY ("Directory association ............." USE_DIR_ASSOC 1)
PRINT_SUMMARY ("Set RPATH in installed binaries ..." CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
+IF(MPEG_DECODERS)
+MESSAGE ("MPEG decoders ....................." "${MPEG_DECODERS}")
+ENDIF(MPEG_DECODERS)
MESSAGE("")
diff --git a/src/plugins/Input/CMakeLists.txt b/src/plugins/Input/CMakeLists.txt
index 9c9dbc64b..2cd772223 100644
--- a/src/plugins/Input/CMakeLists.txt
+++ b/src/plugins/Input/CMakeLists.txt
@@ -1,4 +1,5 @@
-SET(USE_MAD TRUE CACHE BOOL "enable/disable mad plugin")
+SET(USE_MAD TRUE CACHE BOOL "enable/disable mad decoder (mpeg plugin)")
+SET(USE_MPG123 TRUE CACHE BOOL "enable/disable mpg123 decoder (mpeg plugin)")
SET(USE_FLAC TRUE CACHE BOOL "enable/disable flac plugin")
SET(USE_VORBIS TRUE CACHE BOOL "enable/disable ogg vorbis plugin")
SET(USE_FFMPEG TRUE CACHE BOOL "enable/disable ffmpeg plugin")
@@ -16,9 +17,9 @@ SET(USE_SID TRUE CACHE BOOL "enable/disable sid plugin")
SET(USE_ARCHIVE TRUE CACHE BOOL "enable/disable archive plugin")
-IF(USE_MAD AND TAGLIB_FOUND)
-add_subdirectory(mad)
-ENDIF(USE_MAD AND TAGLIB_FOUND)
+IF((USE_MAD OR USE_MPG123) AND TAGLIB_FOUND)
+add_subdirectory(mpeg)
+ENDIF((USE_MAD OR USE_MPG123) AND TAGLIB_FOUND)
IF(USE_FLAC AND TAGLIB_FOUND)
add_subdirectory(flac)
diff --git a/src/plugins/Input/mpeg/CMakeLists.txt b/src/plugins/Input/mpeg/CMakeLists.txt
index 34f13bfb9..bb0819ce3 100644
--- a/src/plugins/Input/mpeg/CMakeLists.txt
+++ b/src/plugins/Input/mpeg/CMakeLists.txt
@@ -1,4 +1,4 @@
-project(libmad)
+project(libmpeg)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -7,46 +7,67 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
# libmad
+IF(USE_MAD)
pkg_search_module(MAD libmad mad)
+ENDIF(USE_MAD)
-include_directories(${MAD_INCLUDE_DIRS} ${TAGLIB_INCLUDE_DIRS})
-link_directories(${MAD_LIBRARY_DIRS} ${TAGLIB_LIBRARY_DIRS})
-ADD_DEFINITIONS(${MAD_CFLAGS} ${TAGLIB_CFLAGS})
+# libmpg123
+IF(USE_MPG123)
+pkg_search_module(MPG123 libmpg123)
+ENDIF(USE_MPG123)
-SET(libmad_SRCS
- decoder_mad.cpp
- decodermadfactory.cpp
+include_directories(${TAGLIB_INCLUDE_DIRS})
+link_directories(${TAGLIB_LIBRARY_DIRS})
+ADD_DEFINITIONS(${TAGLIB_CFLAGS})
+
+
+SET(libmpeg_SRCS
+ decodermpegfactory.cpp
settingsdialog.cpp
tagextractor.cpp
mpegmetadatamodel.cpp
replaygainreader.cpp
)
-SET(libmad_HDRS
- decoder_mad.h
+SET(libmpeg_HDRS
tagextractor.h
replaygainreader.h
)
-SET(libmad_RCCS translations/translations.qrc)
+IF(MAD_FOUND)
+ include_directories(${MAD_INCLUDE_DIRS})
+ link_directories(${MAD_LIBRARY_DIRS})
+ ADD_DEFINITIONS(${MAD_CFLAGS} -DWITH_MAD)
+ SET(libmpeg_SRCS ${libmpeg_SRCS} decoder_mad.cpp)
+ SET(libmpeg_HDRS ${libmpeg_HDRS} decoder_mad.h)
+ENDIF(MAD_FOUND)
-QT5_ADD_RESOURCES(libmad_RCC_SRCS ${libmad_RCCS})
+IF(MPG123_FOUND)
+ include_directories(${MPG123_INCLUDE_DIRS})
+ link_directories(${MPG123_LIBRARY_DIRS})
+ ADD_DEFINITIONS(${MPG123_CFLAGS} -DWITH_MPG123)
+ SET(libmpeg_SRCS ${libmpeg_SRCS} decoder_mpg123.cpp)
+ SET(libmpeg_HDRS ${libmpeg_HDRS} decoder_mpg123.h)
+ENDIF(MPG123_FOUND)
-# user interface
+SET(libmpeg_RCCS translations/translations.qrc)
+QT5_ADD_RESOURCES(libmpeg_RCC_SRCS ${libmpeg_RCCS})
-SET(libmad_UIS
+# user interface
+
+SET(libmpeg_UIS
settingsdialog.ui
)
-QT5_WRAP_UI(libmad_UIS_H ${libmad_UIS})
+QT5_WRAP_UI(libmpeg_UIS_H ${libmpeg_UIS})
# Don't forget to include output directory, otherwise
# the UI file won't be wrapped!
include_directories(${CMAKE_CURRENT_BINARY_DIR})
-IF(MAD_FOUND)
-ADD_LIBRARY(mad MODULE ${libmad_SRCS} ${libmad_UIS_H} ${libmad_RCC_SRCS} ${libmad_HDRS})
-add_dependencies(mad qmmp)
-target_link_libraries(mad Qt5::Widgets -lqmmp ${MAD_LDFLAGS} ${TAGLIB_LDFLAGS})
-install(TARGETS mad DESTINATION ${LIB_DIR}/qmmp/Input)
-ENDIF(MAD_FOUND)
+IF(MAD_FOUND OR MPG123_FOUND)
+ADD_LIBRARY(mpeg MODULE ${libmpeg_SRCS} ${libmpeg_UIS_H} ${libmpeg_RCC_SRCS} ${libmpeg_HDRS})
+add_dependencies(mpeg qmmp)
+target_link_libraries(mpeg Qt5::Widgets -lqmmp ${TAGLIB_LDFLAGS} ${MAD_LDFLAGS} ${MPG123_LDFLAGS})
+install(TARGETS mpeg DESTINATION ${LIB_DIR}/qmmp/Input)
+ENDIF(MAD_FOUND OR MPG123_FOUND)