#!/bin/sh # Since CMake cannot build the static and dynamic libraries in the same # directory, this script helps build both static and dynamic versions of it and # have the common flags in one place instead of split between two places. set -e if [ "$#" -eq "0" ]; then echo "Usage: $0 <--dynamic|--static>">&2 exit 1 fi ROOT="$(cd "$(dirname "$0")/.." && echo "${PWD}")" VENDORED_PATH="${ROOT}/vendor/libgit2" case "$1" in --static) BUILD_PATH="${ROOT}/static-build" BUILD_SHARED_LIBS=OFF ;; --dynamic) BUILD_PATH="${ROOT}/dynamic-build" BUILD_SHARED_LIBS=ON ;; *) echo "Usage: $0 <--dynamic|--static>">&2 exit 1 ;; esac mkdir -p "${BUILD_PATH}/build" "${BUILD_PATH}/install/lib" cd "${BUILD_PATH}/build" && cmake -DTHREADSAFE=ON \ -DBUILD_CLAR=OFF \ -DBUILD_SHARED_LIBS"=${BUILD_SHARED_LIBS}" \ -DREGEX_BACKEND=builtin \ -DCMAKE_C_FLAGS=-fPIC \ -DCMAKE_BUILD_TYPE="RelWithDebInfo" \ -DCMAKE_INSTALL_PREFIX="${BUILD_PATH}/install" \ "${VENDORED_PATH}" && exec cmake --build . --target install