* 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
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.
* 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.
* 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.
* 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>
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.
* 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