Warning, /multimedia/kasts/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2020 Tobias Fella <tobias.fella@kde.org>
0002 # SPDX-FileCopyrightText: 2023 Bart De Vries <bart@mogwai.be>
0003 # SPDX-License-Identifier: BSD-2-Clause
0004 
0005 add_subdirectory(kmediasession)
0006 if (NOT QT_MAJOR_VERSION EQUAL "6")
0007 add_subdirectory(solidextras)
0008 endif()
0009 
0010 set(kasts_srcs
0011     main.cpp
0012     fetcher.cpp
0013     database.cpp
0014     entry.cpp
0015     feed.cpp
0016     author.cpp
0017     enclosure.cpp
0018     chapter.cpp
0019     datamanager.cpp
0020     audiomanager.cpp
0021     error.cpp
0022     enclosuredownloadjob.cpp
0023     storagemanager.cpp
0024     storagemovejob.cpp
0025     updatefeedjob.cpp
0026     fetchfeedsjob.cpp
0027     systrayicon.cpp
0028     networkconnectionmanager.cpp
0029     models/abstractepisodemodel.cpp
0030     models/abstractepisodeproxymodel.cpp
0031     models/chaptermodel.cpp
0032     models/feedsmodel.cpp
0033     models/feedsproxymodel.cpp
0034     models/entriesmodel.cpp
0035     models/entriesproxymodel.cpp
0036     models/queuemodel.cpp
0037     models/episodemodel.cpp
0038     models/episodeproxymodel.cpp
0039     models/downloadmodel.cpp
0040     models/errorlogmodel.cpp
0041     models/podcastsearchmodel.cpp
0042     sync/sync.cpp
0043     sync/syncjob.cpp
0044     sync/syncutils.cpp
0045     sync/gpodder/gpodder.cpp
0046     sync/gpodder/genericrequest.cpp
0047     sync/gpodder/loginrequest.cpp
0048     sync/gpodder/logoutrequest.cpp
0049     sync/gpodder/devicerequest.cpp
0050     sync/gpodder/syncrequest.cpp
0051     sync/gpodder/updatesyncrequest.cpp
0052     sync/gpodder/updatedevicerequest.cpp
0053     sync/gpodder/subscriptionrequest.cpp
0054     sync/gpodder/uploadsubscriptionrequest.cpp
0055     sync/gpodder/episodeactionrequest.cpp
0056     sync/gpodder/uploadepisodeactionrequest.cpp
0057     resources.qrc
0058 )
0059 
0060 ecm_qt_declare_logging_category(kasts_srcs
0061     HEADER "audiologging.h"
0062     IDENTIFIER "kastsAudio"
0063     CATEGORY_NAME "org.kde.kasts.audio"
0064     DEFAULT_SEVERITY Info
0065 )
0066 
0067 ecm_qt_declare_logging_category(kasts_srcs
0068     HEADER "datamanagerlogging.h"
0069     IDENTIFIER "kastsDataManager"
0070     CATEGORY_NAME "org.kde.kasts.datamanager"
0071     DEFAULT_SEVERITY Info
0072 )
0073 
0074 ecm_qt_declare_logging_category(kasts_srcs
0075     HEADER "enclosurelogging.h"
0076     IDENTIFIER "kastsEnclosure"
0077     CATEGORY_NAME "org.kde.kasts.enclosure"
0078     DEFAULT_SEVERITY Info
0079 )
0080 
0081 ecm_qt_declare_logging_category(kasts_srcs
0082     HEADER "entrylogging.h"
0083     IDENTIFIER "kastsEntry"
0084     CATEGORY_NAME "org.kde.kasts.entry"
0085     DEFAULT_SEVERITY Info
0086 )
0087 
0088 ecm_qt_declare_logging_category(kasts_srcs
0089     HEADER "feedlogging.h"
0090     IDENTIFIER "kastsFeed"
0091     CATEGORY_NAME "org.kde.kasts.feed"
0092     DEFAULT_SEVERITY Info
0093 )
0094 
0095 ecm_qt_declare_logging_category(kasts_srcs
0096     HEADER "fetcherlogging.h"
0097     IDENTIFIER "kastsFetcher"
0098     CATEGORY_NAME "org.kde.kasts.fetcher"
0099     DEFAULT_SEVERITY Info
0100 )
0101 
0102 ecm_qt_declare_logging_category(kasts_srcs
0103     HEADER "synclogging.h"
0104     IDENTIFIER "kastsSync"
0105     CATEGORY_NAME "org.kde.kasts.sync"
0106     DEFAULT_SEVERITY Info
0107 )
0108 
0109 ecm_qt_declare_logging_category(kasts_srcs
0110     HEADER "models/downloadmodellogging.h"
0111     IDENTIFIER "kastsDownloadModel"
0112     CATEGORY_NAME "org.kde.kasts.downloadmodel"
0113     DEFAULT_SEVERITY Info
0114 )
0115 
0116 ecm_qt_declare_logging_category(kasts_srcs
0117     HEADER "models/queuemodellogging.h"
0118     IDENTIFIER "kastsQueueModel"
0119     CATEGORY_NAME "org.kde.kasts.queuemodel"
0120     DEFAULT_SEVERITY Info
0121 )
0122 
0123 ecm_qt_declare_logging_category(kasts_srcs
0124     HEADER "storagemanagerlogging.h"
0125     IDENTIFIER "kastsStorageManager"
0126     CATEGORY_NAME "org.kde.kasts.storagemanager"
0127     DEFAULT_SEVERITY Info
0128 )
0129 
0130 ecm_qt_declare_logging_category(kasts_srcs
0131     HEADER "storagemovejoblogging.h"
0132     IDENTIFIER "kastsStorageMoveJob"
0133     CATEGORY_NAME "org.kde.kasts.storagemovejob"
0134     DEFAULT_SEVERITY Info
0135 )
0136 
0137 ecm_qt_declare_logging_category(kasts_srcs
0138     HEADER "networkconnectionmanagerlogging.h"
0139     IDENTIFIER "kastsNetworkConnectionManager"
0140     CATEGORY_NAME "org.kde.kasts.networkconnectionmanager"
0141     DEFAULT_SEVERITY Info
0142 )
0143 
0144 if(ANDROID)
0145     list(APPEND kasts_srcs
0146          androidlogging.h)
0147 endif()
0148 
0149 if(KASTS_FLATPAK)
0150     list(APPEND kasts_srcs
0151          resources-flatpak.qrc)
0152 else()
0153     list(APPEND kasts_srcs
0154          resources-non-flatpak.qrc)
0155 endif()
0156 
0157 set(kasts_ICONS_PNG
0158     ../icons/16-apps-kasts.png
0159     ../icons/24-apps-kasts.png
0160     ../icons/32-apps-kasts.png
0161     ../icons/48-apps-kasts.png
0162     ../icons/64-apps-kasts.png
0163     ../icons/128-apps-kasts.png
0164 )
0165 
0166 # add icons to application sources, to have them bundled
0167 ecm_add_app_icon(kasts_srcs ICONS ${kasts_ICONS_PNG})
0168 
0169 add_executable(kasts ${kasts_srcs})
0170 
0171 kconfig_add_kcfg_files(kasts settingsmanager.kcfgc GENERATE_MOC)
0172 
0173 target_include_directories(kasts PRIVATE ${CMAKE_BINARY_DIR})
0174 target_link_libraries(kasts PRIVATE Qt::Core Qt::Qml Qt::Quick Qt::QuickControls2 Qt::Sql Qt::Svg Qt::Xml KF${KF_MAJOR_VERSION}::Kirigami2 KF${KF_MAJOR_VERSION}::Syndication KF${KF_MAJOR_VERSION}::CoreAddons KF${KF_MAJOR_VERSION}::ConfigGui KF${KF_MAJOR_VERSION}::I18n Taglib::Taglib ${QTKEYCHAIN_LIBRARIES} KF${KF_MAJOR_VERSION}::ThreadWeaver KMediaSession)
0175 
0176 if (QT_MAJOR_VERSION EQUAL "6")
0177 target_link_libraries(kasts PRIVATE Qt6::Network)
0178 else ()
0179 target_link_libraries(kasts PRIVATE KastsSolidExtras)
0180 endif()
0181 
0182 if(KASTS_FLATPAK)
0183     target_compile_definitions(kasts PUBLIC KASTS_FLATPAK)
0184 endif()
0185 
0186 if(ANDROID)
0187     target_link_libraries(kasts PRIVATE
0188         OpenSSL::SSL
0189         log
0190     )
0191     if(SQLite3_FOUND)
0192         target_link_libraries(kasts PRIVATE SQLite::SQLite3)
0193     endif()
0194 
0195     if(ZLIB_FOUND)
0196         target_link_libraries(kasts PRIVATE ZLIB::ZLIB)
0197     endif()
0198 
0199     kirigami_package_breeze_icons(ICONS
0200         window-close
0201         window-close-symbolic
0202         delete
0203         settings-configure
0204         documentinfo
0205         tools-report-bug
0206         list-add
0207         list-remove
0208         view-refresh
0209         view-filter
0210         kasts
0211         mail-sent
0212         globe
0213         data-error
0214         rss
0215         bookmarks
0216         document-import
0217         document-export
0218         document-open-folder
0219         document-save
0220         edit-delete-remove
0221         edit-clear-all
0222         edit-select-all
0223         edit-select-none
0224         edit-copy
0225         download
0226         media-playlist-append
0227         media-seek-backward
0228         media-seek-forward
0229         media-skip-forward
0230         media-playback-start
0231         media-playback-pause
0232         view-media-playlist
0233         source-playlist
0234         arrow-down
0235         go-next
0236         overflow-menu
0237         checkbox
0238         error
0239         search
0240         kt-add-feeds
0241         state-sync
0242         network-connect
0243         drive-harddisk-symbolic
0244         dialog-ok
0245         dialog-cancel
0246         computer
0247         computer-laptop
0248         network-server-database
0249         smartphone
0250         emblem-music-symbolic
0251         gpodder
0252         kaccounts-nextcloud
0253         clock
0254         viewimage
0255         player-volume-muted
0256         player-volume
0257         application-exit
0258         starred-symbolic
0259         non-starred-symbolic
0260         media-playback-cloud
0261         zoom-in
0262         zoom-out
0263         object-rotate-left
0264         object-rotate-right
0265         add-subtitle
0266         view-sort
0267         view-sort-descending
0268         view-sort-ascending
0269         view-sort-descending-name
0270         view-sort-ascending-name
0271     )
0272 else()
0273     target_link_libraries(kasts PRIVATE Qt::Widgets)
0274 endif()
0275 
0276 install(TARGETS kasts ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})