Skip to content

Instantly share code, notes, and snippets.

@vbkaisetsu
Created July 18, 2018 03:01
Show Gist options
  • Save vbkaisetsu/555223128b809ce4d2d6e9e6d8e2335c to your computer and use it in GitHub Desktop.
Save vbkaisetsu/555223128b809ce4d2d6e9e6d8e2335c to your computer and use it in GitHub Desktop.
#!/bin/bash -xe
ABSPATH=$(realpath $0)
DIRNAME=$(dirname ${ABSPATH})
ANDROID_NDK_PATH=/path/to/Android/Sdk/ndk-bundle
ANDROID_ABI=armeabi-v7a
ANDROID_PLATFORM=android-15
OPENCL_INCLUDE_DIR=${DIRNAME}/OpenCL/include
OPENCL_LIBRARY=${DIRNAME}/OpenCL/lib/libOpenCL.so
CLBLAST_DIR=${DIRNAME}/CLBlast-1.2.0
PRIMITIV_DIR=${DIRNAME}/primitiv
PRIMITIV_JAVA_DIR=${DIRNAME}/primitiv-java
rm -rf "${CLBLAST_DIR}/build"
mkdir -p "${CLBLAST_DIR}/build"
pushd "${CLBLAST_DIR}/build"
cmake .. -DCMAKE_INSTALL_PREFIX="${CLBLAST_DIR}/install" \
-DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake" \
-DANDROID_ABI="${ANDROID_ABI}" \
-DANDROID_PLATFORM="${ANDROID_PLATFORM}" \
-DOPENCL_INCLUDE_DIRS="${OPENCL_INCLUDE_DIR}" \
-DOPENCL_LIBRARIES="${OPENCL_LIBRARY}" \
-DBUILD_SHARED_LIBS=OFF
make VERBOSE=1
make install
popd
rm -rf "${PRIMITIV_DIR}/build"
mkdir -p "${PRIMITIV_DIR}/build"
pushd "${PRIMITIV_DIR}/build"
cmake .. -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake" \
-DCMAKE_CXX_FLAGS="-Wno-missing-braces -Wno-ignored-qualifiers -Wno-unused-parameter" \
-DANDROID_ABI="${ANDROID_ABI}" \
-DANDROID_PLATFORM="${ANDROID_PLATFORM}" \
-DPRIMITIV_USE_OPENCL=ON \
-DOpenCL_INCLUDE_DIR="${OPENCL_INCLUDE_DIR}" \
-DCLHPP_INCLUDE_DIR="${OPENCL_INCLUDE_DIR}" \
-DOpenCL_LIBRARY="${OPENCL_LIBRARY}" \
-DCLBLAST_ROOT_DIR="${CLBLAST_DIR}/install" \
-DCLBLAST_INCLUDE_DIR="${CLBLAST_DIR}/install/include" \
-DCLBLAST_LIBRARIES="${CLBLAST_DIR}/install/lib/libclblast.a" \
-DPRIMITIV_BUILD_STATIC_LIBRARY=ON
make VERBOSE=1
popd
rm -rf "${PRIMITIV_JAVA_DIR}/build"
mkdir -p "${PRIMITIV_JAVA_DIR}/build"
pushd "${PRIMITIV_JAVA_DIR}/build"
cmake .. -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake" \
-DANDROID_ABI="${ANDROID_ABI}" \
-DPRIMITIV_USE_OPENCL=ON \
-DPRIMITIV_LIBRARIES="${PRIMITIV_DIR}/build/primitiv/libprimitiv.a;${CLBLAST_DIR}/build/libclblast.a;${OPENCL_LIBRARY}" \
-DPRIMITIV_INCLUDE_DIR="${PRIMITIV_DIR};${PRIMITIV_DIR}/build"
make VERBOSE=1
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment