Commit Graph

37 Commits

Author SHA1 Message Date
Mike Gelfand c5b1df0daa
Support in-source builds (#4955)
* 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.
2023-02-19 16:10:25 +00:00
Mike Gelfand 605c6bd031
Store percents as integer, with 2 digits of precision (#4933)
* Store percents as integer, with 2 digits of precision

* Fix GHA builds for Mac (missing pkg-config)

* Fix percents formatting
2023-02-18 01:14:01 +00:00
Thomas Weißschuh 4dc836f330
tests: expose libtransmission gtests to ctest (#4731) 2023-02-11 11:27:36 -06:00
Berbe 065facc07c
fix: Prevent lengthy compilation workflows to run needlessly (#4804) 2023-02-10 18:51:37 -06: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 23bb8fa32e
fix: detect NPM version for ENABLE_WEB in cmake (#4669) 2023-01-25 22:17:24 -06:00
Charles Kerr f24368efb7
build: add webapp github actions (#4658) 2023-01-25 13:22:11 -06:00
Charles Kerr 49b7478121 fixup! build: minor ci cleanup (#4652)
fix: github action oops in brew update
2023-01-24 15:52:59 -06:00
Charles Kerr b055b98d0f
build: minor ci cleanup (#4652)
* 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
2023-01-24 01:02:48 -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 e3a577c2d8
chore: pin brew libpsl to 0.21.1 (#4640)
temporary workaround for Homebrew/homebrew-core/issues/121081
2023-01-23 10:38:18 -06:00
progiv 72b6ae0378
Fix GitHub CI actions warning for set-output (#4564)
Closes #4478
2023-01-08 17:49:15 -06:00
Charles Kerr cf8bd14403
test: GH Action should only try pack-msi if making dist or qt (#4563)
* test: only use pack-ms iff making dist or qt

* Update .github/workflows/actions.yml

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2023-01-08 16:34:59 -06:00
Gary Elshaw 84566d42f0
Update qt cmakelists to include support for building svg (#4437) 2022-12-27 17:18:51 +00:00
Charles Kerr bc61565af7
build: fix utils tests on win32 (#4422)
tests depend on utils, so if we unconditionally enable tests we need to do the same for utils
2022-12-20 12:27:02 -06: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
Mike Gelfand a937dfc897
Don't include MSVC redist MSM in Windows MSI package (#4339)
* Create Windows MSI package as part of GHA sanity build

* Don't include MSVC redist MSM in Windows MSI package

This approach is deprecated, and was probably never entirely correct to
begin with.
2022-12-09 12:30:43 +00:00
Mike Gelfand 26a8c17187
Use proper working directory (fixup #4337) 2022-12-08 22:48:35 +00:00
Mike Gelfand 32cc726e7d
Detect changes against branch off point, not origin/main (#4337) 2022-12-08 22:41:28 +00:00
Dmitry Antipov bf6c80ae35
refactor, ci: switch clang-format to LLVM 15 (#4297)
Bump required clang-format version to 15
2022-12-02 09:57:50 -06:00
Mike Gelfand 735ea201ea
Fix step id used in what-to-make outputs 2022-11-28 21:09:18 +00:00
Mike Gelfand d91b5ca674
Make "Check State" step of what-to-make job verbose for debugging 2022-11-28 21:00:34 +00: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
Kevin Stubbings 55be67b2e6
Add CodeQL workflow (#4125)
* Add CodeQL workflow

* Improve CodeQL setup

Install proper packages to enable GTK and Qt client builds.
Exclude 3rd-party dependencies from analysis (they should be analyzed
separately in their own repositories).
Speed C++ analysis up by building with Ninja.
Speed JavaScript analysis up by skipping CMake configuration and build,
which is not required for interpreted languages.

* Revert unintentional branch specification change

* Exclude generated JavaScript files from CodeQL analysis

Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2022-11-12 19:26:06 +00:00
Mike Gelfand dd4dce36a4
Downgrade Fedora image used in GitHub Actions CI to 36 (#4070)
37 is still "rawhide" and it starts to pull in packages from 38 making
things weird.
2022-11-02 03:15:31 +00:00
Mike Gelfand b0de4b7a89
Add build job based on Fedora 37 (#3921)
This allows to test against GTK 4 and Qt 6.

Changes to CMakeLists.txt files are non-functional and are meant to
trigger the components rebuild, nothing more.
2022-10-09 12:13:02 +03:00
Charles Kerr 988d8ff9ac
test: possibly fix rename-test flakes (#3653)
* test: possibly fix rename-test flakes

* ci: add gettext-dev to alpine workflow

* ci: make utils if tests change, since transmission-show is needed

* ci: add linux-headers to alpine workflow
2022-08-16 17:47:02 -05:00
Charles Kerr 63eab54fd5
refactor: timer pt 2 (#3617)
* feat: add convenience variants of TimerMaker::create()

* refactor: use libtransmission::Timer in peer-mgr

* refactor: use libtransmission::Timer in peer-msgs

* refactor: use libtransmission::Timer in tr-utp

* refactor: use libtransmission::Timer in tr-dht

* refactor: use libtransmission::Timer in port-forwarding

* refactor: use libtransmission::Timer in webseed

* refactor: use libtransmission::Timer in tr-lpd

* refactor: use libtransmission::Timer in rpc-server

* chore: remove unused function tr_timerAdd()

* chore: remove unused function tr_gettimeofday()

* fixup! chore: remove unused function tr_timerAdd()

* fixup! refactor: use libtransmission::Timer in port-forwarding
2022-08-11 12:28:37 -05:00
Charles Kerr 0b75751de3
build: re-fix the naming of workflow triggers (#3374)
I thought I fixed this once before?
2022-06-29 00:36:42 -05:00
Charles Kerr 308ae8487a
fix: code style in macosx/AboutWindowController.mm (#3334)
* build: when code-style fails, try giving a breadcrumb to find the diff

* fix: code style in AboutWindowController.mm

* fix: typo in what-to-make
2022-06-21 12:25:16 -05:00
Charles Kerr eb36788253
build: fix sanity GitHub action (#3316)
* build: fix Sanity GitHub action

* build: CI triggers now look for xcode changes
2022-06-17 16:52:39 -05:00
Charles Kerr 0fa716742a
build: add alpine/musl to github actions sanity (#3300)
* build: add alpine/musl to github actions sanity

* build: sanity build tarball even if the only changes are in submodules
2022-06-15 10:53:50 -05:00
Charles Kerr 955ffa8f40
refactor: add tarball, macos CI to GitHub Actions (#3296) 2022-06-14 14:44:14 -05:00
Charles Kerr 34cb56b2af
refactor: remove unused tr_ptrArray class (#3262)
* refactor: remove unused tr_ptrArray class

* fixup! build: add sanitizer CI runs when libtransmission-test changes (#3260)
2022-06-11 21:45:00 -05:00
Charles Kerr 1e796477dc
build: add sanitizer CI runs when libtransmission-test changes (#3260) 2022-06-11 16:56:34 -05:00
Charles Kerr 50cb57784e
build: use GitHub actions to check code-style (#3138) 2022-05-26 07:38:20 -05:00