diff --git a/Ladybird/Android/BuildLagomTools.sh b/Ladybird/Android/BuildLagomTools.sh new file mode 100755 index 0000000000..fecff837d0 --- /dev/null +++ b/Ladybird/Android/BuildLagomTools.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -eo pipefail + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +SERENITY_ROOT="$(realpath "${DIR}"/../..)" + +# shellcheck source=/dev/null +. "${SERENITY_ROOT}/Meta/shell_include.sh" + +# shellcheck source=/dev/null +. "${SERENITY_ROOT}/Meta/find_compiler.sh" + +pick_host_compiler + +BUILD_DIR=${BUILD_DIR:-"${SERENITY_ROOT}/Build"} +CACHE_DIR=${CACHE_DIR:-"${BUILD_DIR}/caches"} + +cmake -S "$SERENITY_ROOT/Meta/Lagom" -B "$BUILD_DIR/lagom-tools" \ + -GNinja -Dpackage=LagomTools \ + -DCMAKE_INSTALL_PREFIX="$BUILD_DIR/lagom-tools-install" \ + -DCMAKE_C_COMPILER="$CC" \ + -DCMAKE_CXX_COMPILER="$CXX" \ + -DSERENITY_CACHE_DIR="$CACHE_DIR" + +ninja -C "$BUILD_DIR/lagom-tools" install diff --git a/Ladybird/Android/build.gradle.kts b/Ladybird/Android/build.gradle.kts index 5a3d83f52e..ea80094b16 100644 --- a/Ladybird/Android/build.gradle.kts +++ b/Ladybird/Android/build.gradle.kts @@ -7,12 +7,13 @@ plugins { var cacheDir = System.getenv("SERENITY_CACHE_DIR") ?: "$buildDir/caches" -// FIXME: Move this somewhere nicer, with better behavior (like controlling host compiler) task("buildLagomTools") { - commandLine = listOf("sh", "-c", "cmake -S ../../Meta/Lagom -B $buildDir/lagom-tools " + - " -Dpackage=LagomTools -DCMAKE_INSTALL_PREFIX=$buildDir/lagom-tools-install -GNinja" + - " -DSERENITY_CACHE_DIR=$cacheDir;" + - " ninja -C $buildDir/lagom-tools install") + commandLine = listOf("./BuildLagomTools.sh") + environment = mapOf( + "BUILD_DIR" to "$buildDir", + "CACHE_DIR" to "$cacheDir", + "PATH" to System.getenv("PATH")!! + ) } tasks.named("preBuild").dependsOn("buildLagomTools") @@ -47,7 +48,10 @@ android { buildTypes { release { isMinifyEnabled = false - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) } } compileOptions {