build.sh 1.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
#!/usr/bin/env bash
#
# Environment variables:
#
# SOURCE_DIR: Set to the directory of the libgit2 source (optional)
#     If not set, it will be derived relative to this script.

set -e

SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
BUILD_DIR=$(pwd)
12 13
BUILD_PATH=${BUILD_PATH:=$PATH}
CMAKE=$(which cmake)
14
CMAKE_GENERATOR=${CMAKE_GENERATOR:-Unix Makefiles}
15 16 17 18 19 20

indent() { sed "s/^/    /"; }

echo "Source directory: ${SOURCE_DIR}"
echo "Build directory:  ${BUILD_DIR}"
echo ""
21 22 23 24 25 26 27 28

if [ "$(uname -s)" = "Darwin" ]; then
	echo "macOS version:"
	sw_vers | indent
fi

if [ -f "/etc/debian_version" ]; then
	echo "Debian version:"
29
	(source /etc/lsb-release && echo "${DISTRIB_DESCRIPTION}") | indent
30 31 32
fi

echo "Kernel version:"
33
uname -a 2>&1 | indent
34

35
echo "CMake version:"
36
env PATH="$BUILD_PATH" "$CMAKE" --version 2>&1 | indent
37 38 39 40 41

if test -n "$CC"; then
	echo "Compiler version:"
	"$CC" --version 2>&1 | indent
fi
42 43 44 45 46 47
echo ""

echo "##############################################################################"
echo "## Configuring build environment"
echo "##############################################################################"

48 49
echo cmake ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON -DBUILD_FUZZERS=ON -DUSE_STANDALONE_FUZZERS=ON -G \"${CMAKE_GENERATOR}\" ${CMAKE_OPTIONS}
env PATH="$BUILD_PATH" "$CMAKE" ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON -DBUILD_FUZZERS=ON -DUSE_STANDALONE_FUZZERS=ON -G "${CMAKE_GENERATOR}" ${CMAKE_OPTIONS}
50 51 52 53 54 55

echo ""
echo "##############################################################################"
echo "## Building libgit2"
echo "##############################################################################"

56
env PATH="$BUILD_PATH" "$CMAKE" --build .