* Add CI configuration for clang-tidy on Windows
* Fix issues reported by clang-tidy on Windows
* Workaround clang-tidy defects on Windows
* Fix C-style casts (which clang-tidy didn't report)
* ci: bump `clang-tidy` from 14 to 18
`clang-tidy-14` has been crashing when being run on `peer-mgr.cc` since 96de1706af.
According to https://github.com/llvm/llvm-project/issues/95631, upgrading to `clang-tidy-18` fixes this.
* chore: workaround clang-tidy false positives
* fix: limit nolint comment scope
* code review: try avoiding false positive without nolint
* support macos-14 universal builds
* Apply suggestions from code review
Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* add the arch to the job's name
* revert support macos-14 universal builds
---------
Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>
Version 3.14 was recently released with security fixes, and GitHub
runners have been updated to use it. Don't hardcode the version in
Program Files directory name to support any 3.x. Since 3.x support will
be dropped within a year, need to plan migration to 5.x when it's
released (4.x isn't suitable because of missing heat replacement).
* Support building Qt using CMake 3.28+
CMake 3.28 dropped support for deriving installation prefix(es) based on
PATH environment variable on Windows. Since all the other built packages
already pass necessary prefix path(s) explicitly via CMAKE_PREFIX_PATH
and it works for them, do the same for Qt 6 as well. Building Qt 5 isn't
affected as it doesn't use CMake.
* Fix environment variable name in `windows` build job
Using wrong name resulted in empty `CMAKE_PREFIX_PATH` CMake setting
value, which showed the effects of CMake 3.28 changes yet again.
* android patches for ndk
* Update libtransmission/file-capacity.cc
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* TrMacros: Move common & android vars
* Build android in CI
* Use vcpkg packages for curl & openssl
* Update CI for android
* Fix ndkVersion used with gradle
* Restore actions triggers events
* CMakeLists: Remove cond where curl is not found
* Use vcpkg tag instead of commit hash
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* TrMacros.cmake: clean unused variables & add vcpkg cond
* Remove quotes around VcpkgAndroid inclusion
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* actions: split steps to install vcpkg packages
* Build for android arm64
* actions: add make-android condition
* Revert "Use vcpkg tag instead of commit hash"
This reverts commit 65819026b1.
* build.gradle: use cmake version 3.22.1
* actions: use vcpkg 2024.01.12
* actions: Add ninja-build dependency
---------
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* chore: prefer calc() over sass math module
* chore: remove unused mixins
* refactor: use css variables for symbolic color names
* refactor: use range syntax for media queries
* refactor: use css variables for symbolic dimensions, units
* refactor: use css variables for symbolic url names
* refactor: use css variables for mime icon urls
* fixup! refactor: use css variables for symbolic dimensions, units
* refactor: replace mime-icon mixin with css variables
* ci: run apt-update before apt-install
* Add compat operator* for RefPtr
* Rename `*_tree_view_*` button handling helpers to `*_item_view_*`
* Move torrent item colors to CSS
* Switch to list view for torrents list (GTK 4)
* Bump Fedora image to 39 (current rawhide) for GTK 4.11
Enable deprecations as there're lots of them in 4.11 and I'm not keen on
fixing them all right now. Disable warnings as errors due to
-Warray-bounds issue somewhere in libfmt.
This is not an error, but a warning when building/running tests
with CMake/GoogleTest.
Use `sysctl -n hw.logicalcpu` to get parallelization number.
See: https://github.com/memkind/memkind/issues/33#issuecomment-540614162
No changes affecting users, so no `Notes:` here.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* fixup! perf: use small::max_size_vector in tr_torrentGetMetadataPiece() (#5768)
* enable tests for alpine CI
---------
Co-authored-by: tearfur <46261767+tearfur@users.noreply.github.com>
* Support in-source builds
Don't copy third-party directories into themselves (actually, don't copy
them at all) by switching from `URL` to `SOURCE_DIR`. Separate build,
source, and install directories for third-party libraries.
* Trigger builds on changes to cmake/
That directory contains TrMacros.cmake which influences build logic in
other places.
* chore: show js webpack stats when building
* chore: use npm ci for code_style to avoid overwriting package-lock.json
* chore: add brew-update to macos ci
* remove webpack-dev-server from deps
- 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