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:
19
server/scripts/build-wrapper.sh
Executable file
19
server/scripts/build-wrapper.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
# Wrapper script to invoke gradle from meson
|
||||
set -e
|
||||
|
||||
PROJECT_ROOT="$1"
|
||||
OUTPUT="$2"
|
||||
BUILDTYPE="$3"
|
||||
|
||||
# gradlew is in the parent of the server directory
|
||||
GRADLE=${GRADLE:-$PROJECT_ROOT/../gradlew}
|
||||
|
||||
if [[ "$BUILDTYPE" == debug ]]
|
||||
then
|
||||
"$GRADLE" -p "$PROJECT_ROOT" assembleDebug
|
||||
cp "$PROJECT_ROOT/build/outputs/apk/debug/server-debug.apk" "$OUTPUT"
|
||||
else
|
||||
"$GRADLE" -p "$PROJECT_ROOT" assembleRelease
|
||||
cp "$PROJECT_ROOT/build/outputs/apk/release/server-release-unsigned.apk" "$OUTPUT"
|
||||
fi
|
||||
Reference in New Issue
Block a user