1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-22 22:20:39 +00:00
transmission/qt
Mike Gelfand bc380511db
Modernize CMake code (ongoing refactoring) (#4507)
* Reformat CMake code

* Bump minimum CMake version to 3.12

* Add target sources separately via `target_source()`

* Make `tr_win32_app_info()` add target sources on its own

* Don't use `include_directories()`

* Don't use `add_definitions()`

* Limit use of `add_compile_options()`

* Move VDKQueue target declaration to a subdirectory

* Add `tr_disable_source_files_compile()` helper

* Add `tr_target_glib_resources()` helper

* Add `tr_gettext_msgfmt()` helper

* Enable AUTOUIC for Qt client

* Enable AUTORCC for Qt client

* Remove AUTO{MOC,RCC,UIC} source group overrides

* Add `tr_target_idl_files()` helper

* Move source group setup to `tr_qt_add_translation()`

* Add `tr_target_xib_files()` helper

* Prefer `target_sources()` to intermediate variables

* Use explicit visibility versions of `target_*()` commands

* Prefer genexes to conditions in `target_*()` commands

* Add `tr_allow_compile_if()` helper

* Leave only top-level `project()`, remove the rest

* Minor fixups

* Fixup Mac QL plugin install

* Fixup IDE target folders and source groups
2023-01-01 19:49:48 +00:00
..
icons
translations
.clang-tidy
AboutDialog.cc
AboutDialog.h
AboutDialog.ui
AddData.cc
AddData.h fix: qt open magnet dialog munges magnet url (#3787) 2022-09-07 16:38:34 -05:00
Application.cc
Application.h
application.qrc
BaseDialog.h
CMakeLists.txt Modernize CMake code (ongoing refactoring) (#4507) 2023-01-01 19:49:48 +00:00
ColumnResizer.cc
ColumnResizer.h
ComInteropHelper.cc
ComInteropHelper.h
CustomVariantType.h
DBusInteropHelper.cc
DBusInteropHelper.h
DetailsDialog.cc
DetailsDialog.h
DetailsDialog.ui
FaviconCache.cc
FaviconCache.h
FileTreeDelegate.cc
FileTreeDelegate.h
FileTreeItem.cc
FileTreeItem.h
FileTreeModel.cc
FileTreeModel.h
FileTreeView.cc
FileTreeView.h
FilterBar.cc
FilterBar.h
FilterBarComboBox.cc
FilterBarComboBox.h
FilterBarComboBoxDelegate.cc
FilterBarComboBoxDelegate.h
Filters.cc
Filters.h
Formatter.cc
Formatter.h
FreeSpaceLabel.cc
FreeSpaceLabel.h
IconCache.cc
IconCache.h
IconToolButton.cc
IconToolButton.h
InteropHelper.cc
InteropHelper.h
InteropObject.cc
InteropObject.h
LicenseDialog.cc
LicenseDialog.h
LicenseDialog.ui
MainWindow.cc
MainWindow.h
MainWindow.ui
MakeDialog.cc
MakeDialog.h
MakeDialog.ui
MakeProgressDialog.ui
my-valgrind.sh
OptionsDialog.cc
OptionsDialog.h
OptionsDialog.ui
PathButton.cc
PathButton.h
Prefs.cc
Prefs.h
PrefsDialog.cc
PrefsDialog.h
PrefsDialog.ui
qtr.ico
qtr.rc
README.txt
RelocateDialog.cc
RelocateDialog.h
RelocateDialog.ui
RpcClient.cc
RpcClient.h
RpcQueue.cc
RpcQueue.h
Session.cc
Session.h
SessionDialog.cc
SessionDialog.h
SessionDialog.ui
Speed.h
SqueezeLabel.cc
SqueezeLabel.h
StatsDialog.cc
StatsDialog.h
StatsDialog.ui
StyleHelper.cc
StyleHelper.h
Torrent.cc
Torrent.h
TorrentDelegate.cc
TorrentDelegate.h
TorrentDelegateMin.cc
TorrentDelegateMin.h
TorrentFilter.cc
TorrentFilter.h
TorrentModel.cc
TorrentModel.h
TorrentView.cc
TorrentView.h
TrackerDelegate.cc
TrackerDelegate.h
TrackerModel.cc
TrackerModel.h
TrackerModelFilter.cc
TrackerModelFilter.h
TrackersDialog.ui
transmission-qt.1
transmission-qt.desktop
transmission-qt.idl
transmission-qt.tlb.rc
transmission_en.qm
Typedefs.h
Utils.cc
Utils.h
VariantHelpers.cc
VariantHelpers.h
WatchDir.cc
WatchDir.h

VOLUNTEERS WANTED

   - Qt developers and translators are needed
   - If you find a bug, please report it at https://github.com/transmission/transmission

ABOUT TRANSMISSION-QT

   Transmission-qt is a GUI for Transmission loosely based on the GTK+ client.

   This is the only Transmission client that can act as its own self-contained
   session (as the GTK+ and Mac clients do), and can also connect to a remote
   session (as the web client and transmission-remote terminal client do).

   Use Case 1: If you like to run BitTorrent for awhile from your desktop,
   then the Mac, GTK+, and Qt clients are a good match.

   Use Case 2: If you like to leave BitTorrent running nonstop on your
   computer or router, and want to control it from your desktop or
   from a remote site, then transmission-remote and the web and Qt clients
   are a good match.

   To use the Qt client as a remote, in the menu go to Edit > Change Session

   The Qt client is also the most likely to wind up running on Windows,
   though that's not a high priority at the moment...

BUILDING ON WINDOWS

   rb07 has a writeup of this on the Transmission wiki:
   https://trac.transmissionbt.com/wiki/BuildingTransmissionQtWindows

BUILDING ON MACOS

   nnc has a writeup of this on the Transmission wiki:
   https://trac.transmissionbt.com/wiki/BuildingTransmissionQtMac

BUILDING ON UNIX

   1. Prerequisites: Qt >= 4.8 and its development packages
   2. Build Transmission as normal
   3. In the qt/ directory, type "qmake qtr.pro" (or "qmake-qt4 qtr.pro", or "qmake-qt5 qtr.pro")
   4. In the qt/ directory, type "make"
   5. In the qt/ directory, as root, type "INSTALL_ROOT=/usr make install"
      (Feel free to replace /usr with /usr/local or /opt or whatever)