71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
# Copyright The Amber Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
set -e # Fail on error
|
|
set -x # Display commands as run
|
|
|
|
BUILD_ROOT="$PWD"
|
|
SRC="$PWD/github/amber"
|
|
BUILD_TYPE="Release"
|
|
|
|
export ANDROID_NDK="$BUILD_ROOT/android-ndk-r20"
|
|
ANDROID_STL="c++_static"
|
|
ANDROID_PLATFORM="android-14"
|
|
ANDROID_ABI="armeabi-v7a with NEON"
|
|
|
|
TOOLCHAIN_PATH="$ANDROID_NDK/build/cmake/android.toolchain.cmake"
|
|
|
|
# removing the old version
|
|
echo y | sudo apt-get purge --auto-remove cmake
|
|
|
|
# Installing the 3.10.2 version
|
|
wget http://www.cmake.org/files/v3.10/cmake-3.10.2.tar.gz
|
|
tar -xvzf cmake-3.10.2.tar.gz
|
|
pushd cmake-3.10.2/
|
|
./configure
|
|
make
|
|
sudo make install
|
|
echo "$(date): $(cmake --version)"
|
|
popd
|
|
|
|
# Get NINJA.
|
|
wget -q https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
|
|
unzip -q ninja-linux.zip
|
|
export PATH="$PWD:$PATH"
|
|
|
|
# Get Android NDK.
|
|
wget -q https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip
|
|
unzip -q android-ndk-r20-linux-x86_64.zip
|
|
# ANDROID_NDK is set earlier.
|
|
|
|
cd "$SRC"
|
|
./tools/git-sync-deps
|
|
|
|
mkdir build && cd "$SRC/build"
|
|
|
|
# Invoke the build.
|
|
echo "$(date): Starting build..."
|
|
cmake -GNinja \
|
|
"-DCMAKE_BUILD_TYPE=$BUILD_TYPE" \
|
|
"-DANDROID_ABI=$ANDROID_ABI" \
|
|
"-DANDROID_PLATFORM=$ANDROID_PLATFORM" \
|
|
"-DANDROID_NDK=$ANDROID_NDK" \
|
|
"-DANDROID_STL=$ANDROID_STL" \
|
|
"-DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_PATH" \
|
|
..
|
|
|
|
echo "$(date): Build everything..."
|
|
ninja
|
|
echo "$(date): Build completed."
|