11 SRC_DIR=$(dirname "${BASH_SOURCE[0]}")
12 SRC_DIR=$(realpath "$SRC_DIR")
16 CMAKE_BUILD_TYPE=Debug
19 SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}")
20 source $SCRIPT_PATH/android-build-common.sh
21 source $SCRIPT_PATH/android-build.conf
43 ANDROID_NDK_OPENH264=$1
51 CMAKE_BUILD_TYPE=Debug
55 CMAKE_BUILD_TYPE=Release
59 CMAKE_BUILD_TYPE=RelWithDebug
67 REMAINING="$REMAINING $key"
72 common_parse_arguments $REMAINING
77 common_clean $BUILD_SRC
82 common_run mkdir -p $BUILD_DST
85 # Prepare the environment
86 common_run mkdir -p $BUILD_SRC
88 CMAKE_CMD_ARGS="-DANDROID_NDK=$ANDROID_NDK \
89 -DANDROID_NATIVE_API_LEVEL=android-${NDK_TARGET} \
90 -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
91 -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
92 -DFREERDP_EXTERNAL_PATH=$BUILD_DST \
93 -DCMAKE_MAKE_PROGRAM=make"
96 for ARCH in $BUILD_ARCH
99 if [ $WITH_JPEG -ne 0 ];
101 if [ $BUILD_DEPS -ne 0 ];
103 common_run bash $SCRIPT_PATH/android-build-jpeg.sh \
104 --src $BUILD_SRC/jpeg --dst $BUILD_DST \
107 --target $NDK_TARGET \
110 CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_JPEG=ON"
112 CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_JPEG=OFF"
114 if [ $WITH_OPENH264 -ne 0 ];
116 if [ -z "$ANDROID_NDK_OPENH264" ]
119 echo "Warning: Missing openh264-ndk, using $ANDROID_NDK" >&2
121 ANDROID_NDK_OPENH264=$ANDROID_NDK
123 if [ $BUILD_DEPS -ne 0 ];
125 common_run bash $SCRIPT_PATH/android-build-openh264.sh \
126 --src $BUILD_SRC/openh264 --dst $BUILD_DST \
127 --sdk "$ANDROID_SDK" \
128 --ndk "$ANDROID_NDK_OPENH264" \
130 --target $NDK_TARGET \
133 CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_OPENH264=ON"
135 CMAKE_CMD_ARGS="$CMAKE_CMD_ARGS -DWITH_OPENH264=OFF"
137 if [ $WITH_OPENSSL -ne 0 ];
139 if [ $BUILD_DEPS -ne 0 ];
141 common_run bash $SCRIPT_PATH/android-build-openssl.sh \
142 --src $BUILD_SRC/openssl --dst $BUILD_DST \
143 --sdk "$ANDROID_SDK" \
146 --target $NDK_TARGET \
151 # Build and install the library.
152 if [ $DEPS_ONLY -eq 0 ];
155 common_run mkdir -p $BUILD_SRC/freerdp-build/$ARCH
156 common_run cd $BUILD_SRC/freerdp-build/$ARCH
157 common_run export ANDROID_NDK=$ANDROID_NDK
158 common_run $CMAKE_PROGRAM $CMAKE_CMD_ARGS \
159 -DANDROID_ABI=$ARCH \
160 -DCMAKE_INSTALL_PREFIX=$BUILD_DST/$ARCH \
161 -DCMAKE_INSTALL_LIBDIR=. \
164 common_run cmake --build . --target install
168 echo "Successfully build library for architectures $BUILD_ARCH"