repertory/scripts/make_common.sh

48 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
CURRENT_DIR=$(dirname "$0")
CURRENT_DIR=$(realpath ${CURRENT_DIR})
. "${CURRENT_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5"
mkdir -p "${PROJECT_BUILD_DIR}/build"
if [ -f "${SOURCE_DIR}/pre_build.sh" ]; then
"${SOURCE_DIR}/pre_build.sh"
fi
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
APP_BINARY_EXT=.exe
fi
pushd "${PROJECT_BUILD_DIR}"
cmake "${SOURCE_DIR}" -G"Unix Makefiles" ${PROJECT_CMAKE_OPTS} || exit 1
if [ "${PROJECT_BUILD_CLEAN}" == "clean" ]; then
make clean
pushd build
make clean
popd
fi
make -j${NUM_JOBS} || exit 1
pushd build
make -j${NUM_JOBS} || exit 1
popd
popd
if [ "${PROJECT_IS_MINGW}" != "1" ] && [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; then
rsync -av --progress /usr/share/icu/74.1/ "${PROJECT_DIST_DIR}/icu/"
fi
for APP in ${PROJECT_APP_LIST[@]}; do
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
done
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
. "${CURRENT_DIR}/copy_mingw64_deps.sh" "$1" "$2" "$3" "$4" "$5"
fi
ln -sf "${PROJECT_BUILD_DIR}/build/compile_commands.json" "${SOURCE_DIR}/compile_commands.json"