mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-07-29 12:19:15 +00:00
Refactor build system
The client was built with Meson, the server with Gradle, and were run by a Makefile. Add a Meson script for the server (which delegates to Gradle), and a parent script to build and install both the client and the server to the system, typically with: meson --buildtype release build cd build ninja sudo ninja install In addition, use a separate Makefile to build a "portable" version of the application (where the client expects the server to be in the current directory). Typically: make release-portable cd dist/scrcpy ./scrcpy This is especially useful for Windows builds, which are not "installed".
This commit is contained in:
parent
396df8a9d8
commit
ff94462d8a
9 changed files with 109 additions and 42 deletions
11
server/meson.build
Normal file
11
server/meson.build
Normal file
|
@ -0,0 +1,11 @@
|
|||
project('scrcpy-server', 'c') # not really c, but meson expects something
|
||||
|
||||
# does not track dependencies, so meson does not guarantees that server is up to date
|
||||
# call "touch server" or "ninja -t clean server/scrcpy-server.jar" before to rebuild
|
||||
custom_target('scrcpy-server',
|
||||
build_always: false, # do not enable, otherwise "sudo ninja install" will execute gradle!
|
||||
input: '.',
|
||||
output: 'scrcpy-server.jar',
|
||||
command: [find_program('./scripts/build-wrapper.sh'), '@INPUT@', '@OUTPUT@', get_option('buildtype')],
|
||||
install: true,
|
||||
install_dir: 'share/scrcpy')
|
Loading…
Add table
Add a link
Reference in a new issue