1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-25 01:03:01 +00:00
Commit graph

195 commits

Author SHA1 Message Date
Charles Kerr
432fc9bafc
refactor: add libsmall dependency (#5649)
* refactor: add small dependency

* refactor: use small in variant.cc

* refactor: use small in cache.h
2023-06-20 22:50:36 -05:00
Cœur
6156d90917
build: use RECOMMENDED_MACOSX_DEPLOYMENT_TARGET (#5282) 2023-04-14 15:02:52 -05:00
Cœur
97352a60ad
build: cmake Xcode recommended build settings (#4931) 2023-04-14 09:57:49 -05:00
Charles Kerr
487f5d9676
chore: bump version to 4.1.0-dev (#5392) 2023-04-14 08:59:50 -05:00
Charles Kerr
6b0e49bbb2 chore: bump version to 4.0.3 2023-04-13 21:21:36 -05:00
Charles Kerr
47e141563a
fixup: address 5258 code review (#5295) 2023-03-27 11:04:10 -05:00
Charles Kerr
9fc0e4ff61
fix: disable-deprecated by default for end users (#5289)
deprecations can be turned on manually and are auto-enabled in CI
2023-03-24 13:34:30 -05:00
Charles Kerr
8dccc290d7 chore: bump version to 4.0.2-dev 2023-03-16 02:51:22 -05:00
Charles Kerr
2a57b17031 chore: bump version to 4.0.2 2023-03-15 15:58:20 -05:00
Charles Kerr
487cc27e11 chore: bump version to 4.0.1-dev 2023-02-22 17:02:19 -06:00
Charles Kerr
e1c6e1be43 chore: bump version to 4.0.1 2023-02-22 16:41:35 -06:00
Thomas Weißschuh
8f8bcf720a
ci: add option to disable installation of web assets (#4906)
Fixes #4864
2023-02-22 06:25:50 -06:00
fghzxm
e2b6dc48b1
build: set /utf-8 flag when using MSVC (#4975)
MSVC by default decodes source files in the current Windows code page if
they don't have a Unicode BOM, and also encodes strings and chars into
the current code page before storing them into the compiled binary. Our
files are always encoded in UTF-8, and our code always assumes runtime
strings are encoded in UTF-8, so we should pass the `/utf-8` flag to
MSVC.

Microsoft Docs:
https://learn.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8
2023-02-22 06:00:07 -06:00
abubaca4
3c9d997f47
downgrade libdeflate to 1.7 (#4970)
transmission work with libdeflate 1.7 that delivered with debian 11
2023-02-20 21:33:50 -06:00
Thomas Klausner
62a60b4ea4
fix: link libquota on NetBSD to fix FTBFS (#4863) 2023-02-13 12:04:14 -06:00
Thomas Weißschuh
05dded12a0
build: install rebuilt web if available (#4865) 2023-02-13 10:52:53 -06:00
Charles Kerr
2a74efa24a
build: disable clang-tidy by default (#4824)
workaround for https://github.com/llvm/llvm-project/issues/59492

Fixes #4821.
2023-02-11 09:28:52 -06:00
Mike Gelfand
b8e7b15804
Speed up Appveyor builds with ccache (#4823) 2023-02-11 13:56:08 +00:00
Mike Gelfand
39acf93f1a
Always build bundled libb64 and libutp libraries as static (#4810) 2023-02-11 00:08:55 +00:00
Mike Gelfand
44546674d9
Include libb64 and libutp as subprojects (#4762)
* Include libb64 and libutp as subprojects

* Build 3rd-party subprojects before CodeQL analysis
2023-02-09 19:12:25 +00:00
Charles Kerr
7a686a53f3
build: renamed ENABLE_WEB build option for clarity (#4760) 2023-02-08 17:47:07 -06:00
Charles Kerr
6576a2a1db chore: bump version to 4.0.0-dev 2023-02-07 20:07:33 -06:00
Charles Kerr
280ace12f8
chore: bump version to 4.0.0 (#4730) 2023-02-07 17:37:08 -06:00
Charles Kerr
23bb8fa32e
fix: detect NPM version for ENABLE_WEB in cmake (#4669) 2023-01-25 22:17:24 -06:00
Charles Kerr
5fe95ad5b0
fix: out-of-tree build (#4641)
- in cmake, add transmission-web build target

- in cmake, test for `npm` if we're building transmission-web

- add npm to CI install deps; build transmission-web as needed
2023-01-23 15:59:41 -06:00
Charles Kerr
75876e92e0
build: revert the minimum libdeflate version to 1.10 (#4607) 2023-01-17 12:45:08 -06:00
Charles Kerr
854e01e893
build: bump libdeflate snapshot to 1.17 (#4596)
* build: bump libdeflate snapshot to 1.17

* Link to static libdeflate

Disable shared library and gzip program (both unused)

* Use platform-specific libdeflate library name

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2023-01-15 09:55:16 -06:00
Charles Kerr
8b1290c895
build: remove explicit iconv dependency in libtransmission (#4565) 2023-01-08 22:21:31 -06:00
Charles Kerr
cc4cbff049
refactor: misc-use-anonymous-namespace pt. 2 (#4538) 2023-01-04 22:16:22 -06:00
Charles Kerr
4f88f0afba chore: bump version to 4.0.0-beta.3-dev 2023-01-04 18:47:49 -06:00
Charles Kerr
fcff89a21a
chore: 4.0.0-beta.3 (#4536)
* chore: bump version to 4.0.0-beta.3

* docs: add 4.0.0-beta.3 release notes
2023-01-04 17:22:13 -06:00
Charles Kerr
106bcbbe7b
fix: clang-tidy-15 warnings (#4525) 2023-01-03 14:10:12 -06:00
Mike Gelfand
57e6b06921
Modernize CMake code (ongoing refactoring) (#4515)
* Use imported CMake target for CURL

* Use imported CMake target for fmtlib

* Use imported CMake target for WideInteger

* Use imported CMake target for FastFloat

* Use imported CMake target for UtfCpp

* Use imported CMake target for Threads

* Use imported CMake target for Iconv

* Use imported CMake target for crypto backend

* Use imported CMake target for GTK

* Use imported CMake target for Qt

* Use imported CMake target for deflate

* Use imported CMake target for libevent

* Use imported CMake target for natpmp

* Use imported CMake target for miniupnpc

* Use imported CMake target for dht

* Use imported CMake target for psl

* Use imported CMake target for libutp

* Use imported CMake target for libb64

* Use include directories from libtransmission target
2023-01-02 16:23:51 +00:00
Charles Kerr
47ebb3f63a
refactor: remove obsolete lightweight build option (#4509) 2023-01-01 16:24:12 -06:00
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
Mike Gelfand
f7edcfcb2a
Drop obsolete CyaSSL and PolarSSL crypto backends (#4495)
* Drop support for CyaSSL (keep WolfSSL)

* Drop support for PolarSSL (keep MbedTLS)
2022-12-29 22:38:04 +00:00
Gary Elshaw
84566d42f0
Update qt cmakelists to include support for building svg (#4437) 2022-12-27 17:18:51 +00:00
Mike Gelfand
128cf34123
Move jsonsl and wildmat to third-party (#4402)
* Move jsonsl to third-party

This treats it as proper 3rd-party code to which our warning and style
settings don't extend.

* Move wildmat to third-party

This treats it as proper 3rd-party code to which our warning and style
settings don't extend.

* Fixup Xcode project to match new project structure
2022-12-18 19:19:07 +00:00
Mike Gelfand
e694c3e3a0
Use C++ (not C) warning flags for GTK client (#4395)
Use the opportunity to reduce duplication.
2022-12-18 01:02:03 +00:00
Mike Gelfand
67c4e4081c
Add ENABLE_WERROR option for use on CI (#4381)
Defaults to `OFF`. Downstream packagers are advised against enabling it
as we can't guarantee it working on every possible configuration.

Added the actual compile flag in the GTK client subdirectory and not
the top-level CMakeLists.txt file due to other subprojects not being
ready.

Fixed the only GTK client warning reported by Clang on Mac.
2022-12-16 22:38:30 +00:00
Cœur
0b0f8704d6
build: move CMAKE_OSX_DEPLOYMENT_TARGET FATAL_ERROR next to its default setting (#4323) 2022-12-14 10:11:32 -06:00
Charles Kerr
841419d067 chore: bump version to 4.0.0-beta.2-dev 2022-12-02 08:32:44 -06:00
Charles Kerr
bceb368f1b chore: bump version to 4.0.0-beta.2 2022-12-01 18:06:16 -06:00
Charles Kerr
e0a44a1e5d
refactor: remove references to FD_SETSIZE (#4263) 2022-11-28 14:36:39 -06:00
Mike Gelfand
b2343082b4
Add Windows configuration to GHA sanity builds (#4200) 2022-11-26 16:14:37 +00:00
Mike Gelfand
9e185a17f2
Fix default/minimum CMAKE_OSX_DEPLOYMENT_TARGET handling (#4156)
* Fix default/minimum `CMAKE_OSX_DEPLOYMENT_TARGET` handling

* Drop explicit `CMAKE_OSX_DEPLOYMENT_TARGET` in GHA CI

Rely on minimum set in top-level CMakeLists.txt instead.
2022-11-13 12:02:07 +00:00
Mike Gelfand
43acd7e3e4
Remove Xcode project in favor of CMake (#4147)
* Compile images into an assets catalog

* Optionally sign resulting Mac bundle

* Move 3rd-party/utility/test targets to their own folders

* Enable ARC via compile options unconditionally

* Install base and localized resources into correct directory

This seems like a Xcode quirk: if subdirectory containing the resource file
matches the destination directory name (and probably if there's more than one
resource file being installed there), the resulting folder structure then
contains an extra subdirectory, i.e. Resources/dirname/dirname/resname.

* Group source files for better structure in IDEs (Xcode, VS)

* Remove Xcode project

Using Xcode is still possible via "Xcode" CMake generator.

* Use ad-hoc signature if one is not specified

* Always use ad-hoc signature on link, leave proper signing to CPack

* Install localized resources into correct directory (QL plugin)

* Don't include CTest (we don't use additional targets it provides)

* Revert "Remove Xcode project"

This reverts commit dc069f654f.
2022-11-12 20:01:57 +00:00
Mike Gelfand
da27c3d18d
Prefer ayatana-appindicator over appindicator, if present (#4001) 2022-10-20 18:15:13 +01:00
Mike Gelfand
8712db3b4c
Support switching between GTK 3 and 4 within the same build directory (#3918) 2022-10-09 10:29:47 +03:00
Mike Gelfand
c75c6bf5c8
Add support for GTK 4 (#3916)
* Make compact mode switch work for both GTK 3 and 4

* Implement GTK 4-specific view gesture handling

* Fix torrents view context menu on GTK 4

* Explicitly show/hide menubar on startup/teardown

* Switch from `Gtk::Pixbuf` to `Gio::Icon` for views

* Support GTK 4 exceptions based on `std::exception`

* Fix options menu setup with GTK 4

* Use `delete-event` (GTK 3) and `close-request` (GTK 4) signals to handle window clousure

* Add custom file chooser button implementation

GTK 4 drops FileChooserButton widget and suggests implementing it using
Button.

* Add helpers to set X11 hints with GTK 4

* Remove `HigWorkarea` class that's no longer used

* Make main menu shortcuts work with GTK 4

* Make drops work in main window and make dialog with GTK 4

* Remove unused `gtr_action_get_widget()` helper

* Fix text direction mark setup with GTK 4 (due to switch to enum class)

* Fix file tree font size calculation with GTK 4

* Fix crash during shutdown with GTK 4

* Switch from `RadioButton` to `CheckButton` for compatibility with GTK 4

* Fix opening files with GTK 4

* Rework torrent cell renderer to support both GTK 3 and 4

* Disable system tray icon support with GTK 4

* Fix windows positioning with GTK 4

* Fix focus event handling with GTK 4

* Adapt to tree model row/iterator changes in GTK 4

* Adapt to toplevel/root window changes in GTK 4

* Adapt to clipboard changes in GTK 4

* Adapt to icon/theme changes in GTK 4

* Adapt to file/path changes in GTK 4

* Random leftover fixes for GTK 4 compatibility

* Clean up unused code

* Move GTK 3 *.ui files into a subdirectory

* Add GTK 4 *.ui files

* Search for both GTK 3 and 4 during configuration
2022-10-09 01:50:03 +03:00