mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-12-17 05:24:19 +01: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:
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')
|
||||
Reference in New Issue
Block a user