Warning, /multimedia/plasmatube/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2019 Linus Jahn <lnj@kaidan.im> 0002 # SPDX-License-Identifier: CC0-1.0 0003 0004 add_subdirectory(api) 0005 0006 ecm_qt_declare_logging_category(plasmatube_srcs 0007 HEADER "mpris2logging.h" 0008 IDENTIFIER "Mpris2Log" 0009 CATEGORY_NAME "org.kde.plasmatube.mpris2" 0010 DEFAULT_SEVERITY Info 0011 ) 0012 0013 add_executable(plasmatube) 0014 0015 qt_add_qml_module(plasmatube 0016 URI org.kde.plasmatube 0017 VERSION 1.0) 0018 0019 target_sources(plasmatube PRIVATE 0020 ${plasmatube_srcs} 0021 0022 controllers/channelcontroller.cpp 0023 controllers/channelcontroller.h 0024 controllers/plasmatube.cpp 0025 controllers/plasmatube.h 0026 controllers/logincontroller.cpp 0027 controllers/logincontroller.h 0028 controllers/videosource.cpp 0029 controllers/videosource.h 0030 controllers/windowcontroller.cpp 0031 controllers/windowcontroller.h 0032 0033 models/abstractlistmodel.cpp 0034 models/abstractlistmodel.h 0035 models/commentsmodel.cpp 0036 models/commentsmodel.h 0037 models/invidiousinstancesmodel.cpp 0038 models/invidiousinstancesmodel.h 0039 models/peertubeinstancesmodel.cpp 0040 models/peertubeinstancesmodel.h 0041 models/pipedinstancesmodel.cpp 0042 models/pipedinstancesmodel.h 0043 models/playlistsmodel.cpp 0044 models/playlistsmodel.h 0045 models/searchmodel.cpp 0046 models/searchmodel.h 0047 models/videolistmodel.cpp 0048 models/videolistmodel.h 0049 models/videomodel.cpp 0050 models/videomodel.h 0051 0052 mpris/mpris2.cpp 0053 mpris/mpris2.h 0054 0055 controllers/sourcemanager.cpp 0056 controllers/sourcemanager.h 0057 controllers/subscriptioncontroller.cpp 0058 controllers/subscriptioncontroller.h 0059 controllers/subscriptionwatcher.cpp 0060 controllers/subscriptionwatcher.h 0061 controllers/videoqueue.cpp 0062 controllers/videoqueue.h 0063 controllers/videocontroller.cpp 0064 controllers/videocontroller.h 0065 0066 utils/mpvobject.cpp 0067 utils/mpvobject.h 0068 0069 main.cpp 0070 ) 0071 0072 if (NOT ANDROID) 0073 target_sources(plasmatube PRIVATE 0074 mpris/mediaplayer2.h 0075 mpris/mediaplayer2.cpp 0076 mpris/mediaplayer2player.cpp 0077 mpris/mediaplayer2player.h 0078 mpris/metadata.cpp 0079 mpris/metadata.h 0080 ) 0081 endif() 0082 0083 qt_target_qml_sources(plasmatube 0084 QML_FILES 0085 ui/components/BaseGridItem.qml 0086 ui/components/BaseGridView.qml 0087 ui/components/BottomNavBar.qml 0088 ui/components/ChannelGridItem.qml 0089 ui/components/Comments.qml 0090 ui/components/PlaceholderItem.qml 0091 ui/components/PlaylistGridItem.qml 0092 ui/components/ShareDialog.qml 0093 ui/components/ShareMenu.qml 0094 ui/components/Sidebar.qml 0095 ui/components/SourceSwitcher.qml 0096 ui/components/SubscriptionButton.qml 0097 ui/components/VideoGridItem.qml 0098 ui/components/VideoListAction.qml 0099 ui/components/VideoListItem.qml 0100 ui/components/VideoMenu.qml 0101 0102 ui/loginflow/AddInvidiousPage.qml 0103 ui/loginflow/AddPeerTubePage.qml 0104 ui/loginflow/AddPipedPage.qml 0105 ui/loginflow/WelcomePage.qml 0106 0107 ui/settings/AboutKDEPage.qml 0108 ui/settings/AboutPage.qml 0109 ui/settings/InvidiousSourcePage.qml 0110 ui/settings/NetworkProxyPage.qml 0111 ui/settings/PeerTubeSourcePage.qml 0112 ui/settings/PipedSourcePage.qml 0113 ui/settings/SettingsPage.qml 0114 ui/settings/SourcesPage.qml 0115 0116 ui/videoplayer/MinimizedVideoPlayer.qml 0117 ui/videoplayer/PictureInPictureVideo.qml 0118 ui/videoplayer/TabIndicator.qml 0119 ui/videoplayer/VideoControls.qml 0120 ui/videoplayer/VideoData.qml 0121 ui/videoplayer/VideoPlayer.qml 0122 ui/videoplayer/VideoPlayerParent.qml 0123 ui/videoplayer/VideoQueueView.qml 0124 0125 ui/ChannelPage.qml 0126 ui/FeedPage.qml 0127 ui/HistoryPage.qml 0128 ui/LoginPage.qml 0129 ui/Main.qml 0130 ui/PlaylistPage.qml 0131 ui/PlaylistsPage.qml 0132 ui/SearchPage.qml 0133 ui/SubscriptionsPage.qml 0134 ui/TrendingPage.qml 0135 RESOURCES 0136 ui/components/utils.js 0137 ) 0138 0139 set_source_files_properties(../org.kde.plasmatube.svg PROPERTIES 0140 QT_RESOURCE_ALIAS /org.kde.plasmatube.svg 0141 ) 0142 0143 qt_target_qml_sources(plasmatube 0144 PREFIX / 0145 RESOURCES 0146 ../org.kde.plasmatube.svg 0147 ) 0148 0149 kconfig_add_kcfg_files(plasmatube config.kcfgc sourceconfig.kcfgc GENERATE_MOC) 0150 0151 target_include_directories(plasmatube PRIVATE 0152 ${CMAKE_BINARY_DIR} 0153 ${CMAKE_CURRENT_SOURCE_DIR}/controllers 0154 ${CMAKE_CURRENT_SOURCE_DIR}/models 0155 ${CMAKE_CURRENT_SOURCE_DIR}/mpris 0156 ${CMAKE_CURRENT_SOURCE_DIR}/utils 0157 ) 0158 target_link_libraries(plasmatube PRIVATE 0159 qinvidious 0160 qinvidiousplugin 0161 Qt::Core 0162 Qt::Qml 0163 Qt::Quick 0164 Qt::QuickControls2 0165 Qt::Concurrent 0166 KF6::CoreAddons 0167 KF6::ConfigCore 0168 KF6::ConfigGui 0169 KF6::I18n 0170 Qt6Keychain::Qt6Keychain 0171 MpvQt::MpvQt) 0172 0173 if (NOT ANDROID) 0174 target_link_libraries(plasmatube PRIVATE Qt::DBus Qt::Widgets) 0175 target_compile_options(plasmatube PUBLIC -DHAS_DBUS) 0176 else() 0177 target_link_libraries(plasmatube PRIVATE Qt::Svg) 0178 endif() 0179 0180 if (TARGET KF6::DBusAddons) 0181 target_link_libraries(plasmatube PRIVATE KF6::DBusAddons KF6::WindowSystem) 0182 target_compile_definitions(plasmatube PRIVATE -DHAVE_KDBUSADDONS) 0183 endif () 0184 0185 if(PLASMATUBE_FLATPAK) 0186 target_compile_definitions(plasmatube PUBLIC PLASMATUBE_FLATPAK) 0187 endif() 0188 0189 if (NOT ANDROID) 0190 install(DIRECTORY icons/ DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/actions) 0191 else() 0192 install(DIRECTORY icons/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/icons/) 0193 endif() 0194 0195 install(TARGETS plasmatube ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})