3 # Environment variables:
5 # SOURCE_DIR: Set to the directory of the libgit2 source (optional)
6 # If not set, it will be derived relative to this script.
10 SOURCE_DIR
=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
12 BUILD_PATH
=${BUILD_PATH:=$PATH}
14 CMAKE_GENERATOR
=${CMAKE_GENERATOR:-Unix Makefiles}
16 if [[ "$(uname -s)" == MINGW
* ]]; then
17 BUILD_PATH
=$
(cygpath
"$BUILD_PATH")
20 indent
() { sed "s/^/ /"; }
22 echo "Source directory: ${SOURCE_DIR}"
23 echo "Build directory: ${BUILD_DIR}"
26 if [ "$(uname -s)" = "Darwin" ]; then
31 if [ -f "/etc/debian_version" ]; then
32 echo "Debian version:"
33 (source /etc
/lsb-release
&& echo "${DISTRIB_DESCRIPTION}") | indent
36 CORES
=$
(getconf _NPROCESSORS_ONLN || true
)
37 echo "Number of cores: ${CORES:-(Unknown)}"
39 echo "Kernel version:"
40 uname
-a 2>&1 | indent
43 env PATH
="${BUILD_PATH}" "${CMAKE}" --version 2>&1 | indent
45 if test -n "${CC}"; then
46 echo "Compiler version:"
47 "${CC}" --version 2>&1 | indent
50 if test -n "${CC}"; then
51 echo "CC=${CC}" | indent
53 if test -n "${CFLAGS}"; then
54 echo "CFLAGS=${CFLAGS}" | indent
58 echo "##############################################################################"
59 echo "## Configuring build environment"
60 echo "##############################################################################"
62 echo cmake
-DENABLE_WERROR=ON
-DBUILD_EXAMPLES=ON
-DBUILD_FUZZERS=ON
-DUSE_STANDALONE_FUZZERS=ON
-G \"${CMAKE_GENERATOR}\" ${CMAKE_OPTIONS} -S \"${SOURCE_DIR}\"
63 env PATH
="${BUILD_PATH}" "${CMAKE}" -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON -DBUILD_FUZZERS=ON -DUSE_STANDALONE_FUZZERS=ON -G "${CMAKE_GENERATOR}" ${CMAKE_OPTIONS} -S "${SOURCE_DIR}"
66 echo "##############################################################################"
67 echo "## Building libgit2"
68 echo "##############################################################################"
70 # Determine parallelism; newer cmake supports `--build --parallel` but
71 # we cannot yet rely on that.
72 if [ "${CMAKE_GENERATOR}" = "Unix Makefiles" -a "${CORES}" != "" ]; then
73 BUILDER
=(make -j ${CORES})
75 BUILDER
=("${CMAKE}" --build .
)
78 env PATH
="${BUILD_PATH}" "${BUILDER[@]}"