File 0001-Clean-build-system.patch of Package yarock
From 6c5480675dea41661c6b423c4c05689edb996161 Mon Sep 17 00:00:00 2001
From: Christophe Marin <christophe@krop.fr>
Date: Sun, 6 Apr 2025 16:44:31 +0200
Subject: [PATCH] Clean build system
---
CMakeLists.txt | 85 +++++++++------------
src/CMakeLists.txt | 13 ----
src/core/player/mpv/CMakeLists.txt | 57 ++------------
src/core/player/phonon/CMakeLists.txt | 55 ++-----------
src/core/player/qtmultimedia/CMakeLists.txt | 56 ++------------
src/core/player/vlc/CMakeLists.txt | 66 ++++------------
src/infosystem/services/service_lyrics.h | 2 +-
7 files changed, 73 insertions(+), 261 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 16c6681..de532f9 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,38 +36,18 @@ option(ENABLE_SHORTCUT "Enable/disable global shortcut manager" OFF)
# ------------------------------------------------------------------------------
# Qt
# ------------------------------------------------------------------------------
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt6Widgets_EXECUTABLE_COMPILE_FLAGS}")
-find_package(Qt6Gui REQUIRED)
-find_package(Qt6Widgets REQUIRED)
-find_package(Qt6Xml REQUIRED)
-find_package(Qt6Network REQUIRED)
-find_package(Qt6Concurrent REQUIRED)
-find_package(Qt6DBus REQUIRED)
-find_package(Qt6Sql REQUIRED)
-find_package(Qt6LinguistTools REQUIRED)
-set(QT_LIBRARIES ${Qt6Core_LIBRARIES}
- ${Qt6Gui_LIBRARIES}
- ${Qt6Widgets_LIBRARIES}
- ${Qt6Network_LIBRARIES}
- ${Qt6Xml_LIBRARIES}
- ${Qt6Concurrent_LIBRARIES}
- ${Qt6DBus_LIBRARIES}
- ${Qt6Sql_LIBRARIES})
-set(QT_INCLUDES ${Qt6Core_INCLUDE_DIRS}
- ${Qt6Gui_INCLUDE_DIRS}
- ${Qt6Widgets_INCLUDE_DIRS}
- ${Qt6Network_INCLUDE_DIRS}
- ${Qt6Xml_INCLUDE_DIRS}
- ${Qt6Concurrent_INCLUDE_DIRS}
- ${Qt6DBus_INCLUDE_DIRS}
- ${Qt6Sql_INCLUDE_DIRS})
-add_definitions( ${Qt6Core_DEFINITIONS}
- ${Qt6Widgets_DEFINITIONS}
- ${Qt6Network_DEFINITIONS}
- ${Qt6Xml_DEFINITIONS}
- ${Qt6Concurrent_DEFINITIONS})
-include_directories(${QT_INCLUDES})
-qt_standard_project_setup()
+find_package(Qt6 REQUIRED COMPONENTS
+ Concurrent
+ Core
+ DBus
+ Gui
+ LinguistTools
+ Network
+ Sql
+ Widgets
+ Xml)
+
+set(CMAKE_AUTOMOC ON)
# ------------------------------------------------------------------------------
# Taglib
@@ -163,7 +143,9 @@ endif(UPDATE_TRANSLATIONS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wall -Wno-sign-compare")
-add_executable(yarock ${YAROCK_SOURCES} ${YAROCK_RESOURCES_RCC} ${YAROCK_QM_FILES})
+add_executable(yarock ${YAROCK_SOURCES} ${YAROCK_HEADERS} ${YAROCK_RESOURCES_RCC} ${YAROCK_QM_FILES})
+
+target_include_directories(yarock PUBLIC $<BUILD_INTERFACE:${yarock_SOURCE_DIR}/src>)
set_target_properties(yarock PROPERTIES AUTOMOC TRUE ENABLE_EXPORTS TRUE)
@@ -175,7 +157,14 @@ endif(ENABLE_SHORTCUT)
target_link_libraries(yarock
X11
- ${QT_LIBRARIES}
+ Qt6::Concurrent
+ Qt6::Core
+ Qt6::DBus
+ Qt6::Gui
+ Qt6::Network
+ Qt6::Sql
+ Qt6::Widgets
+ Qt6::Xml
${TAGLIB_LIBRARIES}
${HTMLCXX_LIBRARIES}
)
@@ -183,34 +172,36 @@ target_link_libraries(yarock
# ------------------------------------------------------------------------------
# Installation
# ------------------------------------------------------------------------------
+include(GNUInstallDirs)
+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "default install path" FORCE)
endif()
-set(CMAKE_INSTALL_BIN "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "binaries install path" FORCE)
-set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/yarock" CACHE PATH "libraries install path" FORCE)
-set(CMAKE_INSTALL_TRANS "${CMAKE_INSTALL_PREFIX}/share/yarock/translations" CACHE PATH "translations install path" FORCE)
+set(CMAKE_INSTALL_BIN "${CMAKE_INSTALL_FULL_BINDIR}")
+set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_FULL_LIBDIR}/yarock")
+set(CMAKE_INSTALL_TRANS "${CMAKE_INSTALL_FULL_DATADIR}/yarock/translations")
# -- install binary file
install(TARGETS yarock DESTINATION ${CMAKE_INSTALL_BIN})
# -- install translations files
-install(FILES ${YAROCK_QM_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/yarock/translations")
+install(FILES ${YAROCK_QM_FILES} DESTINATION "${CMAKE_INSTALL_TRANS}")
# -- install destop file
-install(FILES data/yarock.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")
+install(FILES data/yarock.desktop DESTINATION "${CMAKE_INSTALL_DATADIR}/applications")
# -- install appdata file
-install(FILES data/yarock.metainfo.xml DESTINATION "${CMAKE_INSTALL_PREFIX}/share/metainfo")
+install(FILES data/yarock.metainfo.xml DESTINATION "${CMAKE_INSTALL_DATADIR}/metainfo")
# -- install icons files
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_16x16.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/16x16/apps" RENAME application-x-yarock.png)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_32x32.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/32x32/apps" RENAME application-x-yarock.png)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_48x48.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps" RENAME application-x-yarock.png)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_64x64.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps" RENAME application-x-yarock.png)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_128x128.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps" RENAME application-x-yarock.png)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock.svg DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps" RENAME application-x-yarock.svg)
-install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_48x48.png DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pixmaps/" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_16x16.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_32x32.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_48x48.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_64x64.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/64x64/apps" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_128x128.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps" RENAME application-x-yarock.png)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock.svg DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps" RENAME application-x-yarock.svg)
+install(FILES ${CMAKE_SOURCE_DIR}/icon/yarock_48x48.png DESTINATION "${CMAKE_INSTALL_DATADIR}/pixmaps/" RENAME application-x-yarock.png)
# ------------------------------------------------------------------------------
# Configuration
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0ce07c5..7887d13 100755
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,3 @@
-
-cmake_policy(SET CMP0011 NEW)
-
# ------------------------------------------------------------------------------
# SOURCES
# ------------------------------------------------------------------------------
@@ -19,12 +16,10 @@ SET(YAROCK_INCLUDES ${CMAKE_SOURCE_DIR}/src/
${CMAKE_SOURCE_DIR}/src/dbus
${CMAKE_SOURCE_DIR}/src/models
${CMAKE_SOURCE_DIR}/src/models/local
- ${CMAKE_SOURCE_DIR}/src/models/online
${CMAKE_SOURCE_DIR}/src/models/stream
${CMAKE_SOURCE_DIR}/src/models/filesystem
${CMAKE_SOURCE_DIR}/src/online
${CMAKE_SOURCE_DIR}/src/playqueue
- ${CMAKE_SOURCE_DIR}/src/settings
${CMAKE_SOURCE_DIR}/src/smartplaylist
${CMAKE_SOURCE_DIR}/src/views
${CMAKE_SOURCE_DIR}/src/views/about
@@ -36,7 +31,6 @@ SET(YAROCK_INCLUDES ${CMAKE_SOURCE_DIR}/src/
${CMAKE_SOURCE_DIR}/src/widgets
${CMAKE_SOURCE_DIR}/src/widgets/dialogs
${CMAKE_SOURCE_DIR}/src/widgets/equalizer
- ${CMAKE_SOURCE_DIR}/src/widgets/nowplaying
${CMAKE_SOURCE_DIR}/src/widgets/main
${CMAKE_SOURCE_DIR}/src/widgets/playertoolbar
${CMAKE_SOURCE_DIR}/src/widgets/popupcompleter
@@ -236,7 +230,6 @@ SET(YAROCK_HEADERS
${CMAKE_SOURCE_DIR}/src/debug.h
${CMAKE_SOURCE_DIR}/src/global_actions.h
${CMAKE_SOURCE_DIR}/src/shortcuts_manager.h
- ${CMAKE_SOURCE_DIR}/src/main.h
${CMAKE_SOURCE_DIR}/src/mainwindow.h
${CMAKE_SOURCE_DIR}/src/networkaccess.h
${CMAKE_SOURCE_DIR}/src/settings.h
@@ -251,8 +244,6 @@ SET(YAROCK_HEADERS
${CMAKE_SOURCE_DIR}/src/core/history/histomanager.h
${CMAKE_SOURCE_DIR}/src/core/history/histomanager.h
${CMAKE_SOURCE_DIR}/src/core/mediaitem/mediaitem.h
- ${CMAKE_SOURCE_DIR}/src/core/mediaitem/mediaitem_replaygain.h
- ${CMAKE_SOURCE_DIR}/src/core/mediaitem/mediaitem_statistic.h
${CMAKE_SOURCE_DIR}/src/core/mediaitem/mediamimedata.h
${CMAKE_SOURCE_DIR}/src/core/mediaitem/playlist_parser.h
${CMAKE_SOURCE_DIR}/src/core/mediaitem/tag.h
@@ -311,10 +302,6 @@ SET(YAROCK_HEADERS
${CMAKE_SOURCE_DIR}/src/views/local/qpixmapfilter.h
${CMAKE_SOURCE_DIR}/src/views/local/local_item.h
${CMAKE_SOURCE_DIR}/src/views/local/local_scene.h
- ${CMAKE_SOURCE_DIR}/src/views/local/local_scene_dashboard.h
- ${CMAKE_SOURCE_DIR}/src/views/local/local_scene_playing.h
- ${CMAKE_SOURCE_DIR}/src/views/local/local_scene_playqueue.h
- ${CMAKE_SOURCE_DIR}/src/views/local/local_scene_rate.h
${CMAKE_SOURCE_DIR}/src/views/context/context_item.h
${CMAKE_SOURCE_DIR}/src/views/context/context_widget.h
${CMAKE_SOURCE_DIR}/src/views/context/context_scene.h
diff --git a/src/core/player/mpv/CMakeLists.txt b/src/core/player/mpv/CMakeLists.txt
index bbd4c28..8ac0ed5 100755
--- a/src/core/player/mpv/CMakeLists.txt
+++ b/src/core/player/mpv/CMakeLists.txt
@@ -1,75 +1,32 @@
-
-# ------------------------------------------------------------------------------
-# CMake
-# ------------------------------------------------------------------------------
-cmake_minimum_required(VERSION 3.16)
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
-# ------------------------------------------------------------------------------
-# Project
-# ------------------------------------------------------------------------------
-project(enginempv)
-
# ------------------------------------------------------------------------------
# Definitions
# ------------------------------------------------------------------------------
-add_definitions(-Wall)
-add_definitions(-DQT_PLUGIN)
-add_definitions(-DQT_NO_DEBUG)
-add_definitions(-DQT_SHARED)
-add_definitions(-DQT_THREAD)
-
add_definitions(-DENABLE_MPV)
# ------------------------------------------------------------------------------
# LibMpv
# ------------------------------------------------------------------------------
-find_package(LibMPV REQUIRED)
-
-include_directories(${LIBMPV_INCLUDE_DIR})
-
-# ------------------------------------------------------------------------------
-# Qt
-# ------------------------------------------------------------------------------
-set(QT_LIBRARIES ${Qt6Core_LIBRARIES})
-set(QT_INCLUDES ${Qt6Core_INCLUDE_DIRS})
-add_definitions(${Qt6Core_DEFINITIONS})
-qt_standard_project_setup()
-
-include_directories(${QT_INCLUDES})
+pkg_check_modules(LIBMPV REQUIRED IMPORTED_TARGET mpv)
# ------------------------------------------------------------------------------
# Sources
# ------------------------------------------------------------------------------
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/mpv
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/mediaitem
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src)
-
-set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/mpv/engine_mpv.cpp)
+set(enginempv_SOURCES engine_mpv.cpp engine_mpv.h)
# ------------------------------------------------------------------------------
# Building
# ------------------------------------------------------------------------------
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
-add_library(enginempv SHARED ${SOURCES})
-
-set_target_properties(enginempv PROPERTIES AUTOMOC TRUE)
+add_library(enginempv SHARED ${enginempv_SOURCES})
add_dependencies(enginempv yarock)
-target_link_libraries(enginempv ${LIBMPV_LIBRARY} ${QT_LIBRARIES})
+target_include_directories(enginempv PUBLIC "$<BUILD_INTERFACE:${yarock_SOURCE_DIR}/src;${yarock_SOURCE_DIR}/src/core/mediaitem;${yarock_SOURCE_DIR}/src/core/player>")
+
+target_link_libraries(enginempv PkgConfig::LIBMPV Qt6::Core Qt6::Gui)
# ------------------------------------------------------------------------------
# Installation
# ------------------------------------------------------------------------------
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "default install path" FORCE)
-endif()
-
-set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/yarock" CACHE PATH "libraries installation path" FORCE)
-
-install(TARGETS enginempv DESTINATION ${CMAKE_INSTALL_LIB})
+install(TARGETS enginempv DESTINATION ${CMAKE_INSTALL_LIBDIR}/yarock)
diff --git a/src/core/player/phonon/CMakeLists.txt b/src/core/player/phonon/CMakeLists.txt
index a49d848..ff8d782 100755
--- a/src/core/player/phonon/CMakeLists.txt
+++ b/src/core/player/phonon/CMakeLists.txt
@@ -1,54 +1,17 @@
-
-# ------------------------------------------------------------------------------
-# CMake
-# ------------------------------------------------------------------------------
-cmake_minimum_required(VERSION 3.16)
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
-# ------------------------------------------------------------------------------
-# Project
-# ------------------------------------------------------------------------------
-project(enginephonon)
-
# ------------------------------------------------------------------------------
# Definitions
# ------------------------------------------------------------------------------
-add_definitions(-Wall)
-add_definitions(-DQT_PLUGIN)
-add_definitions(-DQT_NO_DEBUG)
-add_definitions(-DQT_SHARED)
-add_definitions(-DQT_THREAD)
-
add_definitions(-DENABLE_PHONON)
# ------------------------------------------------------------------------------
# Phonon
# ------------------------------------------------------------------------------
-find_package(Phonon4Qt6 REQUIRED)
-
-include_directories(${PHONON4QT6_INCLUDE_DIR}/phonon4qt6)
-
-# ------------------------------------------------------------------------------
-# Qt
-# ------------------------------------------------------------------------------
-set(QT_LIBRARIES ${Qt6Core_LIBRARIES})
-set(QT_INCLUDES ${Qt6Core_INCLUDE_DIRS})
-add_definitions(${Qt6Core_DEFINITIONS})
-qt_standard_project_setup()
-
-include_directories(${QT_INCLUDES})
+find_package(Phonon4Qt6 CONFIG REQUIRED)
# ------------------------------------------------------------------------------
# Sources
# ------------------------------------------------------------------------------
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/phonon
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/mediaitem
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src)
-
-set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/phonon/engine_phonon.cpp)
+set(SOURCES engine_phonon.cpp engine_phonon.h)
# ------------------------------------------------------------------------------
# Building
@@ -57,19 +20,13 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
add_library(enginephonon SHARED ${SOURCES})
-set_target_properties(enginephonon PROPERTIES AUTOMOC TRUE)
-
add_dependencies(enginephonon yarock)
-target_link_libraries(enginephonon ${PHONON4QT6_LIBRARY} ${QT_LIBRARIES})
+target_include_directories(enginephonon PUBLIC "$<BUILD_INTERFACE:${yarock_SOURCE_DIR}/src;${yarock_SOURCE_DIR}/src/core/mediaitem;${yarock_SOURCE_DIR}/src/core/player>")
+
+target_link_libraries(enginephonon Phonon::phonon4qt6 Qt6::Core Qt6::Gui)
# ------------------------------------------------------------------------------
# Installation
# ------------------------------------------------------------------------------
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "default install path" FORCE)
-endif()
-
-set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/yarock" CACHE PATH "libraries installation path" FORCE)
-
-install(TARGETS enginephonon DESTINATION ${CMAKE_INSTALL_LIB})
+install(TARGETS enginephonon DESTINATION ${CMAKE_INSTALL_LIBDIR}/yarock)
diff --git a/src/core/player/qtmultimedia/CMakeLists.txt b/src/core/player/qtmultimedia/CMakeLists.txt
index 1375fc1..dfd0f59 100755
--- a/src/core/player/qtmultimedia/CMakeLists.txt
+++ b/src/core/player/qtmultimedia/CMakeLists.txt
@@ -1,26 +1,6 @@
-
-# ------------------------------------------------------------------------------
-# CMake
-# ------------------------------------------------------------------------------
-cmake_minimum_required(VERSION 3.16)
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
-# ------------------------------------------------------------------------------
-# Project
-# ------------------------------------------------------------------------------
-project(engineqtmultimedia)
-
# ------------------------------------------------------------------------------
# Definitions
# ------------------------------------------------------------------------------
-add_definitions(-Wall)
-add_definitions(-DQT_PLUGIN)
-add_definitions(-DQT_NO_DEBUG)
-add_definitions(-DQT_SHARED)
-add_definitions(-DQT_THREAD)
-
add_definitions(-DENABLE_QTMULTIMEDIA)
# ------------------------------------------------------------------------------
@@ -28,49 +8,25 @@ add_definitions(-DENABLE_QTMULTIMEDIA)
# ------------------------------------------------------------------------------
find_package(Qt6Multimedia REQUIRED)
-# ------------------------------------------------------------------------------
-# Qt
-# ------------------------------------------------------------------------------
-set(QT_LIBRARIES ${Qt6Core_LIBRARIES}
- ${Qt6Multimedia_LIBRARIES})
-set(QT_INCLUDES ${Qt6Core_INCLUDE_DIRS}
- ${Qt6Multimedia_INCLUDE_DIRS})
-add_definitions(${Qt6Core_DEFINITIONS}
- ${Qt6Multimedia_DEFINITIONS})
-qt_standard_project_setup()
-
-include_directories(${QT_INCLUDES})
-
# ------------------------------------------------------------------------------
# Sources
# ------------------------------------------------------------------------------
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/qtmultimedia
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/mediaitem
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src)
-
-set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/qtmultimedia/engine_qtmultimedia.cpp)
+set(SOURCES engine_qtmultimedia.cpp engine_qtmultimedia.h)
# ------------------------------------------------------------------------------
# Building
# ------------------------------------------------------------------------------
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
-add_library(engineqtmultimedia SHARED ${SOURCES} )
-
-set_target_properties(engineqtmultimedia PROPERTIES AUTOMOC TRUE)
+add_library(engineqtmultimedia SHARED ${SOURCES})
add_dependencies(engineqtmultimedia yarock)
-target_link_libraries(engineqtmultimedia ${QT_LIBRARIES})
+target_include_directories(engineqtmultimedia PUBLIC "$<BUILD_INTERFACE:${yarock_SOURCE_DIR}/src;${yarock_SOURCE_DIR}/src/core/mediaitem;${yarock_SOURCE_DIR}/src/core/player>")
+
+target_link_libraries(engineqtmultimedia Qt6::Core Qt6::Multimedia Qt6::Gui Qt6::Widgets)
# ------------------------------------------------------------------------------
# Installation
# ------------------------------------------------------------------------------
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "default install path" FORCE)
-endif()
-
-set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/yarock" CACHE PATH "libraries installation path" FORCE)
-
-install(TARGETS engineqtmultimedia DESTINATION ${CMAKE_INSTALL_LIB})
+install(TARGETS engineqtmultimedia DESTINATION ${CMAKE_INSTALL_LIBDIR}/yarock)
diff --git a/src/core/player/vlc/CMakeLists.txt b/src/core/player/vlc/CMakeLists.txt
index 7f65c4a..0c2f867 100755
--- a/src/core/player/vlc/CMakeLists.txt
+++ b/src/core/player/vlc/CMakeLists.txt
@@ -1,26 +1,6 @@
-
-# ------------------------------------------------------------------------------
-# CMake
-# ------------------------------------------------------------------------------
-cmake_minimum_required(VERSION 3.16)
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
-# ------------------------------------------------------------------------------
-# Project
-# ------------------------------------------------------------------------------
-project(enginevlc)
-
# ------------------------------------------------------------------------------
# Definitions
# ------------------------------------------------------------------------------
-add_definitions(-Wall)
-add_definitions(-DQT_PLUGIN)
-add_definitions(-DQT_NO_DEBUG)
-add_definitions(-DQT_SHARED)
-add_definitions(-DQT_THREAD)
-
add_definitions(-DENABLE_VLC)
# ------------------------------------------------------------------------------
@@ -30,55 +10,39 @@ find_package(LibVLC REQUIRED)
include_directories(${LIBVLC_INCLUDE_DIR})
-# ------------------------------------------------------------------------------
-# Qt
-# ------------------------------------------------------------------------------
-set(QT_LIBRARIES ${Qt6Core_LIBRARIES})
-set(QT_INCLUDES ${Qt6Core_INCLUDE_DIRS})
-add_definitions(${Qt6Core_DEFINITIONS})
-qt_standard_project_setup()
-
-include_directories(${QT_INCLUDES})
-
# ------------------------------------------------------------------------------
# Configuration
# ------------------------------------------------------------------------------
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/config.h.in
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/vlc/config.h)
+ config.h)
# ------------------------------------------------------------------------------
# Sources
# ------------------------------------------------------------------------------
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/vlc
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/mediaitem
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src)
-
-set(SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/vlc/engine_vlc.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/vlc/vlc_lib.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/core/player/vlc/vlc_media.cpp)
+set(enginevlc_SOURCES
+ config.h
+ engine_vlc.cpp
+ engine_vlc.h
+ vlc_lib.cpp
+ vlc_lib.h
+ vlc_media.cpp
+ vlc_media.h
+)
# ------------------------------------------------------------------------------
# Building
# ------------------------------------------------------------------------------
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
-add_library(enginevlc SHARED ${SOURCES})
-
-set_target_properties(enginevlc PROPERTIES AUTOMOC TRUE)
+add_library(enginevlc SHARED ${enginevlc_SOURCES})
add_dependencies(enginevlc yarock)
-target_link_libraries(enginevlc ${LIBVLC_LIBRARY} ${QT_LIBRARIES})
+target_include_directories(enginevlc PUBLIC "$<BUILD_INTERFACE:${yarock_SOURCE_DIR}/src;${yarock_SOURCE_DIR}/src/core/mediaitem;${yarock_SOURCE_DIR}/src/core/player>")
+
+target_link_libraries(enginevlc ${LIBVLC_LIBRARY} Qt6::Core Qt6::Gui)
# ------------------------------------------------------------------------------
# Installation
# ------------------------------------------------------------------------------
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "default install path" FORCE)
-endif()
-
-set(CMAKE_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/yarock" CACHE PATH "libraries installation path" FORCE)
-
-install(TARGETS enginevlc DESTINATION ${CMAKE_INSTALL_LIB})
+install(TARGETS enginevlc DESTINATION ${CMAKE_INSTALL_LIBDIR}/yarock)
diff --git a/src/infosystem/services/service_lyrics.h b/src/infosystem/services/service_lyrics.h
index a8085d8..4ec4836 100755
--- a/src/infosystem/services/service_lyrics.h
+++ b/src/infosystem/services/service_lyrics.h
@@ -15,7 +15,7 @@
* this program. If not, see <http://www.gnu.org/licenses/>. *
*****************************************************************************************/
#ifndef _SERVICE_LYRICS_H_
-#define _SERVICE_LYRICS_H
+#define _SERVICE_LYRICS_H_
#include <QString>
--
2.49.0