diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cb8fe14..30652f91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,322 +1,322 @@ cmake_minimum_required(VERSION 2.8.9) project(kget) cmake_minimum_required(VERSION 2.8.12) find_package(ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} "${CMAKE_SOURCE_DIR}/cmake") find_package(Qt5 5.2.0 REQUIRED CONFIG COMPONENTS DBus Gui Network Sql Test Widgets Xml) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMInstallIcons) include(ECMMarkAsTest) include(GenerateExportHeader) include(ECMQtDeclareLoggingCategory) find_package(KF5 REQUIRED Completion Config ConfigWidgets CoreAddons DBusAddons DocTools I18n IconThemes ItemViews KCMUtils KDELibs4Support KIO Notifications NotifyConfig Parts Service Solid TextWidgets Wallet WidgetsAddons WindowSystem XmlGui ) #TODO: Check if we need all the dependencies #include(CheckIncludeFile) #include(CheckIncludeFiles) #include(CheckSymbolExists) #include(CheckFunctionExists) #include(CheckLibraryExists) #include(CheckPrototypeExists) #include(CheckTypeSize) #set(CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS}) if(WIN32) set(CMAKE_REQUIRED_LIBRARIES ${KDEWIN32_LIBRARIES}) set(CMAKE_REQUIRED_INCLUDES ${KDEWIN32_INCLUDES}) endif(WIN32) #add_definitions(${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS}) #add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) find_package(Sqlite QUIET) set_package_properties(SQLITE_FOUND PROPERTIES DESCRIPTION "SQLite is a Binary-Database" TYPE RECOMMENDED PURPOSE "Needed for the SQLite-Backend of the KGet-History") find_package(Qca-qt5 2.1.0) set_package_properties(Qca PROPERTIES DESCRIPTION "Support for encryption" URL "http://delta.affinix.com/qca" TYPE REQUIRED) find_package(Gpgmepp 1.7.0) set_package_properties(Gpgmepp_FOUND PROPERTIES DESCRIPTION "The GpgME++ library" URL "http://www.gnupg.org" TYPE RECOMMENDED PURPOSE "GpgME++ is required to have signature verifying support in KGet.") -find_package(KF5Torrent 1.9.50) -set_package_properties(KF5TORRENT_FOUND PROPERTIES DESCRIPTION "Backend Library of KTorrent" TYPE RECOMMENDED PURPOSE "Needed to build KGet bittorrent support.") +find_package(KF5Torrent 2.1) +set_package_properties(KF5Torrent_FOUND PROPERTIES DESCRIPTION "Backend Library of KTorrent" TYPE RECOMMENDED PURPOSE "Needed to build KGet bittorrent support.") find_package(LibMms QUIET) set_package_properties(LIBMMS_FOUND PROPERTIES DESCRIPTION "Library to read mms streams" TYPE RECOMMENDED PURPOSE "Needed to build KGet mms support.") set(kget_adaptor_SRCS dbus/dbuskgetwrapper.cpp ) # set(kget_transfer_adaptor_SRCS # core/transferhandler.cpp # core/transfertreemodel.cpp # ) #add_definitions(-DKDE_DEFAULT_DEBUG_AREA=5001) //TODO: PORT THIS!! if(CMAKE_BUILD_TYPE MATCHES debugfull) add_definitions(-DDEBUG) endif(CMAKE_BUILD_TYPE MATCHES debugfull) if (Qca-qt5_FOUND) add_definitions(-DHAVE_QCA2) MESSAGE(STATUS "QCA found") endif() find_package(Boost REQUIRED) if(Gpgmepp_FOUND) find_package(QGpgme REQUIRED) add_definitions(-DHAVE_QGPGME) endif() set (KGET_PLUGIN_INSTALL_DIR ${PLUGIN_INSTALL_DIR}/kget) add_subdirectory(conf) add_subdirectory(core) add_subdirectory(ui) add_subdirectory(transfer-plugins) add_subdirectory(extensions) add_subdirectory(sounds) add_subdirectory(desktop) #add_subdirectory(plasma) TODO PORT TO KF5/QML add_subdirectory(tests) add_subdirectory(doc) #macro_optional_find_package(KDE4Workspace) #macro_log_feature(KDE4WORKSPACE_FOUND "KDE4Workspace" "KDE4 workspace libraries, part of kdebase-workspace" "http://www.kde.org" FALSE "" "Allows 'shutdown after downloads completed' in kget") #if(KDE4WORKSPACE_FOUND) # add_definitions(-DHAVE_KWORKSPACE) # include_directories(${KDE4WORKSPACE_INCLUDE_DIR}) #endif(KDE4WORKSPACE_FOUND) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/core/ ${CMAKE_CURRENT_BINARY_DIR}/core/ ${CMAKE_CURRENT_BINARY_DIR} ) if(SQLITE_FOUND) add_definitions(-DHAVE_SQLITE) endif(SQLITE_FOUND) remove_definitions(-DQT_NO_HTTP) # kgetcore set(kgetcore_SRCS core/job.cpp core/jobqueue.cpp core/kget.cpp core/scheduler.cpp core/transfertreemodel.cpp core/transfertreeselectionmodel.cpp core/transfer.cpp core/transfergroup.cpp core/transfergrouphandler.cpp core/transferhandler.cpp core/handler.cpp core/transfergroupscheduler.cpp core/plugin/plugin.cpp core/plugin/transferfactory.cpp core/transferdatasource.cpp core/datasourcefactory.cpp core/kgetkjobadapter.cpp core/kuiserverjobs.cpp core/kgetglobaljob.cpp core/bitset.cpp core/download.cpp core/transferhistorystore.cpp core/transferhistorystore_xml.cpp core/transferhistorystore_sqlite.cpp core/linkimporter.cpp dbus/dbustransferwrapper.cpp dbus/dbusverifierwrapper.cpp core/filemodel.cpp core/verifier.cpp core/verificationthread.cpp core/verificationmodel.cpp core/verificationdelegate.cpp core/signature.cpp core/signaturethread.cpp core/keydownloader.cpp core/urlchecker.cpp core/basedialog.cpp core/mostlocalurl.cpp core/filedeleter.cpp ) ecm_qt_declare_logging_category(kgetcore_SRCS HEADER kget_debug.h IDENTIFIER KGET_DEBUG CATEGORY_NAME kget) kconfig_add_kcfg_files(kgetcore_SRCS conf/settings.kcfgc) qt5_add_dbus_adaptor(kgetcore_SRCS dbus/org.kde.kget.transfer.xml dbus/dbustransferwrapper.h DBusTransferWrapper) qt5_add_dbus_adaptor(kgetcore_SRCS dbus/org.kde.kget.verifier.xml dbus/dbusverifierwrapper.h DBusVerifierWrapper) add_library(kgetcore SHARED ${kgetcore_SRCS}) generate_export_header(kgetcore BASE_NAME kget) target_link_libraries(kgetcore Qt5::Core Qt5::Widgets Qt5::Sql Qt5::Network Qt5::DBus KF5::DBusAddons KF5::I18n KF5::CoreAddons KF5::IconThemes KF5::KDELibs4Support) if (KDE4WORKSPACE_FOUND) target_link_libraries(kgetcore ${KDE4WORKSPACE_KWORKSPACE_LIBS}) endif (KDE4WORKSPACE_FOUND) if (SQLITE_FOUND) target_link_libraries(kgetcore ${QT_QTSQL_LIBRARY}) endif (SQLITE_FOUND) if (Qca-qt5_FOUND) target_link_libraries(kgetcore qca-qt5) endif () if (Gpgmepp_FOUND) target_link_libraries(kgetcore QGpgme Gpgmepp) kde_enable_exceptions() endif() set_target_properties(kgetcore PROPERTIES VERSION 5.0.0 SOVERSION 5 ) install(TARGETS kgetcore ${INSTALL_TARGETS_DEFAULT_ARGS}) # kget set(kget_SRCS ${kget_adaptor_SRCS} ${kget_transfer_adaptor_SRCS} kget_debug.cpp conf/autopastemodel.cpp conf/integrationpreferences.cpp conf/dlgwebinterface.cpp conf/preferencesdialog.cpp conf/transfersgrouptree.cpp conf/transfersgroupwidget.cpp conf/pluginselector.cpp conf/verificationpreferences.cpp ui/droptarget.cpp ui/transfersview.cpp ui/transfersviewdelegate.cpp ui/transferdetails.cpp ui/viewscontainer.cpp ui/newtransferdialog.cpp ui/groupsettingsdialog.cpp ui/transfersettingsdialog.cpp ui/contextmenu.cpp ui/tray.cpp ui/history/rangetreewidget.cpp ui/history/transferhistory.cpp ui/history/transferhistoryitemdelegate.cpp ui/history/transferhistorycategorizeddelegate.cpp ui/history/transferhistorycategorizedview.cpp ui/linkview/kget_linkview.cpp ui/linkview/kget_sortfilterproxymodel.cpp ui/mirror/mirrorsettings.cpp ui/mirror/mirrormodel.cpp ui/renamefile.cpp ui/verificationdialog.cpp ui/metalinkcreator/metalinkcreator.cpp ui/metalinkcreator/generalwidget.cpp ui/metalinkcreator/metalinker.cpp ui/metalinkcreator/filedlg.cpp ui/metalinkcreator/localemodels.cpp ui/metalinkcreator/dragdlg.cpp ui/metalinkcreator/urlwidget.cpp ui/metalinkcreator/filehandler.cpp ui/signaturedlg.cpp mainwindow.cpp main.cpp #extensions/webinterface/httpserver.cpp ) qt5_add_dbus_adaptor(kget_SRCS dbus/org.kde.kget.main.xml dbus/dbuskgetwrapper.h DBusKGetWrapper) ki18n_wrap_ui(kget_SRCS conf/dlgadvanced.ui conf/dlgappearance.ui conf/dlggroups.ui conf/dlgintegration.ui conf/dlgwebinterface.ui conf/dlgnetwork.ui conf/verificationpreferences.ui ui/transferdetailsfrm.ui ui/newtransferwidget.ui ui/history/transferhistory.ui ui/groupsettingsdialog.ui ui/transfersettingsdialog.ui ui/linkview/importlinkdialog.ui ui/mirror/mirrorsettings.ui ui/mirror/mirroradddlg.ui ui/renamefile.ui ui/verificationdialog.ui ui/verificationadddlg.ui ui/metalinkcreator/introduction.ui ui/metalinkcreator/generalwidget.ui ui/metalinkcreator/files.ui ui/metalinkcreator/filedlg.ui ui/metalinkcreator/dragdlg.ui ui/metalinkcreator/urlwidget.ui ui/metalinkcreator/commondata.ui ui/signaturedlg.ui ) #kde4_add_app_icon(kget_SRCS "ui/icons/hi*-apps-kget.png") add_executable(kget ${kget_SRCS}) target_link_libraries(kget Qt5::Core Qt5::Widgets Qt5::Sql Qt5::Network Qt5::DBus KF5::Wallet KF5::DBusAddons KF5::I18n KF5::CoreAddons KF5::IconThemes KF5::KCMUtils KF5::NotifyConfig KF5::KDELibs4Support kgetcore) if(Qca_FOUND) target_link_libraries(kget qca) endif() if(CMAKE_BUILD_TYPE MATCHES debugfull) target_link_libraries(kget Qt5::Test) endif() if (QGpgme_FOUND) target_link_libraries(kget QGpgme) endif() install(TARGETS kget ${INSTALL_TARGETS_DEFAULT_ARGS}) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/transfer-plugins/bittorrent/CMakeLists.txt b/transfer-plugins/bittorrent/CMakeLists.txt index 81728010..68a4f349 100644 --- a/transfer-plugins/bittorrent/CMakeLists.txt +++ b/transfer-plugins/bittorrent/CMakeLists.txt @@ -1,66 +1,65 @@ #Set supported mime type SET(SUPPORTED_KGET_MIMETYPES "${SUPPORTED_KGET_MIMETYPES}application/x-bittorrent;" PARENT_SCOPE) kde_enable_exceptions() include_directories( ../../ - KF5::Torrent ) set(kget_bittorrentfactory_PART_SRCS bttransfer.cpp bttransferfactory.cpp bttransferhandler.cpp btdetailswidget.cpp scandlg.cpp #btdatasource.cpp #btchunkselector.cpp #btcache.cpp advanceddetails/btadvanceddetailswidget.cpp advanceddetails/chunkdownloadmodel.cpp advanceddetails/chunkdownloadview.cpp advanceddetails/fileview.cpp advanceddetails/iwfilelistmodel.cpp advanceddetails/iwfiletreemodel.cpp advanceddetails/peerview.cpp advanceddetails/peerviewmodel.cpp advanceddetails/torrentfilelistmodel.cpp advanceddetails/torrentfilemodel.cpp advanceddetails/torrentfiletreemodel.cpp advanceddetails/monitor.cpp advanceddetails/trackerview.cpp advanceddetails/trackermodel.cpp advanceddetails/webseedsmodel.cpp advanceddetails/webseedstab.cpp ) ki18n_wrap_ui(kget_bittorrentfactory_PART_SRCS btdetailswidgetfrm.ui scandlg.ui advanceddetails/chunkdownloadview.ui advanceddetails/trackerview.ui advanceddetails/webseedstab.ui ) kconfig_add_kcfg_files(kget_bittorrentfactory_PART_SRCS bittorrentsettings.kcfgc) add_library(kget_bittorrent MODULE ${kget_bittorrentfactory_PART_SRCS}) kcoreaddons_desktop_to_json(kget_bittorrent kget_bittorrentfactory.desktop) target_link_libraries(kget_bittorrent KF5::KIOCore KF5::Torrent kgetcore) install(TARGETS kget_bittorrent DESTINATION ${KGET_PLUGIN_INSTALL_DIR}) ###Build KCM-Module set(kcm_kget_bittorrentfactory_PART_SRCS btsettingswidget.cpp ) ki18n_wrap_ui(kcm_kget_bittorrentfactory_PART_SRCS btsettingswidget.ui ) kconfig_add_kcfg_files(kcm_kget_bittorrentfactory_PART_SRCS bittorrentsettings.kcfgc) add_library(kcm_kget_bittorrentfactory MODULE ${kcm_kget_bittorrentfactory_PART_SRCS}) target_link_libraries(kcm_kget_bittorrentfactory KF5::KIOCore) install(TARGETS kcm_kget_bittorrentfactory DESTINATION ${PLUGIN_INSTALL_DIR}) install(FILES kget_bittorrentfactory_config.desktop DESTINATION ${SERVICES_INSTALL_DIR})