Re-add build/travis-ci with execution bit
This commit is contained in:
parent
ff179125e2
commit
fb19084f4d
90
build/travis-ci
Normal file
90
build/travis-ci
Normal file
@ -0,0 +1,90 @@
|
||||
#!/bin/sh
|
||||
# This script is used for testing the build, primarily for use
|
||||
# with travis, but may be used by hand as well.
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
# Test autoconf build
|
||||
autoconf_build()
|
||||
{
|
||||
mkdir autoconf-build
|
||||
cd autoconf-build
|
||||
../configure --prefix=$(readlink -f ../autoconf-install)
|
||||
make
|
||||
make install
|
||||
make check
|
||||
}
|
||||
|
||||
# Install needed tools
|
||||
cmake_deps()
|
||||
{
|
||||
mkdir -p download
|
||||
mkdir -p tools
|
||||
|
||||
cmake_file="cmake-3.8.2-Linux-x86_64.tar.gz"
|
||||
cmake_url="https://cmake.org/files/v3.8/${cmake_file}"
|
||||
cmake_hash="574673d3f37b0be6a0813b894a8bce9c4af08c13f1ec25c030a69f42e0e4b349e0192385ef20c8a9271055b7c3b24c5b20fb5009762131a3fba3d17576e641f1"
|
||||
|
||||
ninja_file="ninja-linux.zip"
|
||||
ninja_url="https://github.com/ninja-build/ninja/releases/download/v1.7.2/${ninja_file}"
|
||||
ninja_hash="2dddc52750c5e6f841acd0d978b894c9a6562f12ddb4ba9e5118a213f54265f065682ffe1bc7bc2ac6146760145d17800a4b7373791cd1fbbaf0836faf050e19"
|
||||
|
||||
(
|
||||
cd download
|
||||
if [ ! -f "$cmake_file" ] || [ "$(sha512sum "$cmake_file")" != "$cmake_hash $cmake_file" ]; then
|
||||
wget "$cmake_url"
|
||||
if [ "$(sha512sum "$cmake_file")" != "$cmake_hash $cmake_file" ]; then
|
||||
echo "Error: cmake download hash mismatch" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
tar xf "$cmake_file"
|
||||
cp -a ${cmake_file%.tar.gz}/* ../tools
|
||||
|
||||
if [ "$1" = "Ninja" ]; then
|
||||
if [ ! -f "$ninja_file" ] || [ "$(sha512sum "$ninja_file")" != "$ninja_hash $ninja_file" ]; then
|
||||
wget "$ninja_url"
|
||||
if [ "$(sha512sum "$ninja_file")" != "$ninja_hash $ninja_file" ]; then
|
||||
echo "Error: ninja download hash mismatch" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
unzip "$ninja_file"
|
||||
mv ninja ../tools/bin
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
# Test autoconf build
|
||||
cmake_build()
|
||||
{
|
||||
PATH="$(pwd)/tools/bin:$PATH"
|
||||
mkdir cmake-build
|
||||
cd cmake-build
|
||||
cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../autoconf-install ..
|
||||
cmake --build .
|
||||
cmake --build . --target install
|
||||
ctest -V
|
||||
}
|
||||
|
||||
build=$1
|
||||
shift
|
||||
|
||||
case $build in
|
||||
autoconf)
|
||||
echo "Testing Autoconf build"
|
||||
autoconf_build "$@"
|
||||
;;
|
||||
cmake)
|
||||
echo "Testing CMake build"
|
||||
cmake_deps "$@"
|
||||
cmake_build "$@"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid argument: \"$arg\"" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user