Commit Graph

42 Commits

Author SHA1 Message Date
Cœur 91717fe91d
fix: potential NSString leak in tr_strv_convert_utf8() 2023-04-11 17:36:22 -05: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
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
Cœur 25cc7c0021
Add missing GroupTextCell.h (#4455) 2022-12-23 17:14:31 -06:00
Cœur e32cac98ce
Add missing GroupPopUpButtonCell and PriorityPopUpButtonCell to CMakeLists.txt (#4417) 2022-12-21 20:01:52 -06:00
Cœur db802afc4f
Addressed various warnings (#4414) 2022-12-21 14:21:16 -06:00
Cœur cc9bc748b0
Removed ToolbarSegmentedCell (#4418) 2022-12-21 11:13:12 -06: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
SweetPPro 9f2a981c8c
fix: empty tableview rows on macOS (#4333) 2022-12-09 13:06:00 -06:00
A Cœur 6b861806a6
Fix building with cmake on macOS Mojave (#4234) 2022-11-24 11:20:48 -06:00
A Cœur b612020576
Support UserNotifications framework (#3040) 2022-11-23 13:47:56 -06:00
A Cœur a152d0f6d8
Appropriate and improve VDKQueue (#4202) 2022-11-18 13:53:36 -06:00
A Cœur 6fcdb526c7
Fix crash on torrent filenames in non-UTF-8 encoding (#4144) 2022-11-18 10:03:25 -06:00
A Cœur 0ecf084e0f
ignoring deprecation warning on NSUnarchiver (#4113) 2022-11-13 10:54:22 -06: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 42a065e510
Adjust CMake configs for Mac base internationalization (#3521)
Fixes: #3515
2022-07-25 02:44:56 +01:00
SweetPPro 8724c3dc1a
macOS internationalization of xibs (#3409) 2022-07-17 18:04:32 -05:00
Dmitry Serov 7e278c453a
[macOS] Optimise framework imports (#3323) 2022-06-28 19:15:52 -05:00
Gary Elshaw e823b725f2
Delete ActionOn and QuitBadge image directories (#3364)
* Delete macosx/Images/Images.xcassets/ActionOn.imageset directory

* Delete macosx/Images/Images.xcassets/QuitBadge.imageset directory

* Deleted ActionOn and QuitBadge from CMakeLists
2022-06-27 23:33:13 -05:00
SweetPPro 849a36a30d
macOS fix Toolbar show/hide on macOS Mojave (#3327) 2022-06-24 00:26:36 -05:00
SweetPPro c6b49e99d8
macOS revert fullscreen changes (#3304)
* macOS remove NSWindow subclass

as discussed in #3297
2022-06-16 12:55:33 -05:00
SweetPPro 037f1bf403
macOS remove NSWindow subclass (#3303) 2022-06-16 09:29:50 -05:00
SweetPPro 092710fa16
macOS remove GearshapeTemplate from CMakeLists.txt (#3301)
Icon was removed from project in #3178
2022-06-15 10:21:11 -05:00
SweetPPro c3cd9cffad
re-add macOS Fullscreen support (#3261)
* re-add macOS Fullscreen support

re added Full Screen support for macOS. Also refactored window methods in Controller.mm and moved to their own category - ControllerWindowMethods.mm

This has currently only been tested on macOS Monterey, and should be good on earlier versions - but perhaps needs testing on earlier versions of macOS.

fixes #3231 #3234
2022-06-12 19:54:52 -05:00
Gary Elshaw ed394af4d6
Replace gear icon with ellipsis in macOS client (#3178) 2022-06-11 23:24:31 -05:00
A Cœur af5db6e6f2
refactor: autogenerate the macOS client's Message Log dots (#3224)
* Replaces DotFlat png with generated icons

* code review: udating popup item icons

* code review: increasing inset
2022-06-08 16:35:51 -05:00
SweetPPro 8d61f07930
fix: missing source file in CMake macOS build (#3208)
* Update CMakeLists.txt

correctly add new files to xcode project
2022-06-05 13:33:18 -05:00
SweetPPro 70a54b3603
add gearshape temeplate to macOS CMakeLists.txt (#3202)
add missing macOS icon asset to CMakeLists.txt
https://github.com/transmission/transmission/issues/3199
2022-06-05 09:54:45 -05:00
SweetPPro 182e51492a
fix macOS statusBar icons (#3113)
* fix macOS statusBar icons

* improved CleanupTemplagte images
2022-05-27 06:59:37 -05:00
A Cœur b033b6598e
Fix group icon border (#3094) 2022-05-26 16:04:20 -05:00
Gary Elshaw 57b03114dc
New images for 'Message Log' (#2779) 2022-04-02 20:08:39 -05:00
Dzmitry Neviadomski c38ee22f7f [macOS] Update Info window.
Use SF Symbols on macOS 11+

Use NSSegmentedControl instead of custom view.

Add NSImage extension to fallback loading from
assets on macOS 10.15 and older.

Also should fix sizing issues when changing pane from Options
to Files.

Fixes #2247
2021-12-12 08:24:16 +03:00
Dzmitry Neviadomski 9bb3de406b
Fix CMake and Ninja rebuilds on macOS. (#2036)
The problem could occur with Makefiles also.
Use `-r` option on `rm` as `*.iconset` is a directory.

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-24 16:48:20 -05:00
Mike Gelfand b7ba261359
Port macOS client to C++ (#1830)
* Rename all .m (Obj-C) files to .mm (Obj-C++)

* Fix build in Obj-C++ mode

* Fix Xcode build
2021-09-24 07:56:57 -05:00
Mike Gelfand faafc9e02f Generate app icon file for CMake build
TODO: Look into switching to .car file for all resources.

Fixes: #1672
2021-04-25 00:56:48 +03:00
Mitchell Livingston 567cfff1e7 Update CMakeLists.txt 2020-12-23 08:15:32 -05:00
Mike Gelfand 8863e88570 Fix build with Xcode 10
For some reason, Mac client is the only project that references
libtransmission files as if they were a part of its own project, and
inconsistently so. Make the include/import style uniform an in line with
other projects.

Adjust Mac client include directory settings a bit along the way.
2018-09-30 13:37:30 +03:00
Mike Gelfand c11f2870fd Fix CMake-based build on Mac after 2.9x merge 2018-05-01 23:22:05 +03:00
Dmitry Serov 9632af7c25 Remove Growl support 2017-11-29 00:38:14 +03:00
Mike Gelfand 55edcf22e5 Enable ARC when configuring the project via CMake 2017-08-02 07:12:31 +03:00
Mike Gelfand b6d2649ddc Initial Mac support in CMake configuration 2017-01-11 23:43:53 +03:00