Files
qBittorrent/src/base/CMakeLists.txt
rcarpa bbac94cc95 Use QThreadPool for torrent creation
The change is in preparation for adding the possibility to create
torrent files via the API.

Rework TorrentCreatorThread to be a more lightweight QRunnable class.
The parameters are now defined on construction time and are fixed
throughout the lifecycle of the TorrentCreator. The lifecycle of the
object is not bound to the one of QDialog anymore; it is now handled
by the QThreadPool. This will enable easier queueing of multiple torrent
creation jobs without risk of spawning many threads.

PR #19500.
2023-08-27 00:27:11 +08:00

230 lines
5.7 KiB
CMake

add_library(qbt_base STATIC
# headers
3rdparty/expected.hpp
addtorrentmanager.h
algorithm.h
applicationcomponent.h
asyncfilestorage.h
bittorrent/abstractfilestorage.h
bittorrent/addtorrentparams.h
bittorrent/bandwidthscheduler.h
bittorrent/bencoderesumedatastorage.h
bittorrent/cachestatus.h
bittorrent/categoryoptions.h
bittorrent/common.h
bittorrent/customstorage.h
bittorrent/dbresumedatastorage.h
bittorrent/downloadpriority.h
bittorrent/extensiondata.h
bittorrent/filesearcher.h
bittorrent/filterparserthread.h
bittorrent/infohash.h
bittorrent/loadtorrentparams.h
bittorrent/ltqbitarray.h
bittorrent/lttypecast.h
bittorrent/nativesessionextension.h
bittorrent/nativetorrentextension.h
bittorrent/peeraddress.h
bittorrent/peerinfo.h
bittorrent/portforwarderimpl.h
bittorrent/resumedatastorage.h
bittorrent/session.h
bittorrent/sessionimpl.h
bittorrent/sessionstatus.h
bittorrent/speedmonitor.h
bittorrent/torrent.h
bittorrent/torrentcontenthandler.h
bittorrent/torrentcontentlayout.h
bittorrent/torrentcreator.h
bittorrent/torrentdescriptor.h
bittorrent/torrentimpl.h
bittorrent/torrentinfo.h
bittorrent/tracker.h
bittorrent/trackerentry.h
concepts/stringable.h
digest32.h
exceptions.h
global.h
http/connection.h
http/httperror.h
http/irequesthandler.h
http/requestparser.h
http/responsebuilder.h
http/responsegenerator.h
http/server.h
http/types.h
iconprovider.h
indexrange.h
interfaces/iapplication.h
logger.h
net/dnsupdater.h
net/downloadhandlerimpl.h
net/downloadmanager.h
net/geoipdatabase.h
net/geoipmanager.h
net/portforwarder.h
net/proxyconfigurationmanager.h
net/reverseresolution.h
net/smtp.h
orderedset.h
path.h
pathfwd.h
preferences.h
profile.h
profile_p.h
rss/feed_serializer.h
rss/rss_article.h
rss/rss_autodownloader.h
rss/rss_autodownloadrule.h
rss/rss_feed.h
rss/rss_folder.h
rss/rss_item.h
rss/rss_parser.h
rss/rss_session.h
search/searchdownloadhandler.h
search/searchhandler.h
search/searchpluginmanager.h
settingsstorage.h
tagset.h
torrentfileguard.h
torrentfileswatcher.h
torrentfilter.h
types.h
unicodestrings.h
utils/bytearray.h
utils/compare.h
utils/foreignapps.h
utils/fs.h
utils/gzip.h
utils/io.h
utils/misc.h
utils/net.h
utils/password.h
utils/random.h
utils/string.h
utils/thread.h
utils/version.h
version.h
# sources
addtorrentmanager.cpp
applicationcomponent.cpp
asyncfilestorage.cpp
bittorrent/abstractfilestorage.cpp
bittorrent/addtorrentparams.cpp
bittorrent/bandwidthscheduler.cpp
bittorrent/bencoderesumedatastorage.cpp
bittorrent/categoryoptions.cpp
bittorrent/customstorage.cpp
bittorrent/dbresumedatastorage.cpp
bittorrent/downloadpriority.cpp
bittorrent/filesearcher.cpp
bittorrent/filterparserthread.cpp
bittorrent/infohash.cpp
bittorrent/ltqbitarray.cpp
bittorrent/nativesessionextension.cpp
bittorrent/nativetorrentextension.cpp
bittorrent/peeraddress.cpp
bittorrent/peerinfo.cpp
bittorrent/portforwarderimpl.cpp
bittorrent/resumedatastorage.cpp
bittorrent/sessionimpl.cpp
bittorrent/speedmonitor.cpp
bittorrent/torrent.cpp
bittorrent/torrentcontenthandler.cpp
bittorrent/torrentcreator.cpp
bittorrent/torrentdescriptor.cpp
bittorrent/torrentimpl.cpp
bittorrent/torrentinfo.cpp
bittorrent/tracker.cpp
bittorrent/trackerentry.cpp
exceptions.cpp
http/connection.cpp
http/httperror.cpp
http/requestparser.cpp
http/responsebuilder.cpp
http/responsegenerator.cpp
http/server.cpp
iconprovider.cpp
logger.cpp
net/dnsupdater.cpp
net/downloadhandlerimpl.cpp
net/downloadmanager.cpp
net/geoipdatabase.cpp
net/geoipmanager.cpp
net/portforwarder.cpp
net/proxyconfigurationmanager.cpp
net/reverseresolution.cpp
net/smtp.cpp
path.cpp
preferences.cpp
profile.cpp
profile_p.cpp
rss/feed_serializer.cpp
rss/rss_article.cpp
rss/rss_autodownloader.cpp
rss/rss_autodownloadrule.cpp
rss/rss_feed.cpp
rss/rss_folder.cpp
rss/rss_item.cpp
rss/rss_parser.cpp
rss/rss_session.cpp
search/searchdownloadhandler.cpp
search/searchhandler.cpp
search/searchpluginmanager.cpp
settingsstorage.cpp
tagset.cpp
torrentfileguard.cpp
torrentfileswatcher.cpp
torrentfilter.cpp
utils/bytearray.cpp
utils/compare.cpp
utils/foreignapps.cpp
utils/fs.cpp
utils/gzip.cpp
utils/io.cpp
utils/misc.cpp
utils/net.cpp
utils/password.cpp
utils/random.cpp
utils/string.cpp
utils/thread.cpp
utils/version.cpp
)
target_link_libraries(qbt_base
PRIVATE
OpenSSL::Crypto OpenSSL::SSL
ZLIB::ZLIB
PUBLIC
LibtorrentRasterbar::torrent-rasterbar
Qt::Core Qt::Network Qt::Sql Qt::Xml
qbt_common_cfg
)
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
find_library(IOKit_LIBRARY IOKit)
find_library(Carbon_LIBRARY Carbon)
find_library(AppKit_LIBRARY AppKit)
target_link_libraries(qbt_base PRIVATE
${AppKit_LIBRARY}
${Carbon_LIBRARY}
${IOKit_LIBRARY}
)
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
target_link_libraries(qbt_base PRIVATE Iphlpapi)
endif()
if (NOT GUI)
target_compile_definitions(qbt_base PUBLIC DISABLE_GUI)
endif()
if (NOT WEBUI)
target_compile_definitions(qbt_base PUBLIC DISABLE_WEBUI)
endif()
if (DBUS)
target_link_libraries(qbt_base PUBLIC Qt::DBus)
endif()