move to new build system
This commit is contained in:
49
scripts/docker_common.sh
Executable file
49
scripts/docker_common.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
fi
|
||||
|
||||
if [ "${DOCKER_NAME}" == "mingw64" ]; then
|
||||
APP_VERSION_BUILD_ARGS=${PROJECT_MINGW64_DOCKER_BUILD_ARGS}
|
||||
IS_MINGW=1
|
||||
IS_UNIX=1
|
||||
else
|
||||
IS_MINGW=0
|
||||
IS_UNIX=0
|
||||
fi
|
||||
|
||||
if [ "${DOCKER_CREATE_ONLY}" != "1" ]; then
|
||||
docker stop ${DOCKER_CONTAINER}
|
||||
docker rm ${DOCKER_CONTAINER}
|
||||
fi
|
||||
|
||||
pushd "${SOURCE_DIR}/support"
|
||||
cp -f ${SOURCE_DIR}/docker/${PROJECT_BUILD_ARCH}/${DOCKER_NAME} Dockerfile
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
-t ${DOCKER_TAG} . || exit 1
|
||||
rm Dockerfile
|
||||
popd
|
||||
|
||||
if [ "${DOCKER_CREATE_ONLY}" != "1" ]; then
|
||||
docker run -td \
|
||||
--env MY_NUM_JOBS=${NUM_JOBS} \
|
||||
--name ${DOCKER_CONTAINER} \
|
||||
-u $(id -u):$(id -g) \
|
||||
-v ${SOURCE_DIR}:${SOURCE_DIR}:rw,z \
|
||||
-w ${SOURCE_DIR} \
|
||||
${DOCKER_TAG} || exit 1
|
||||
|
||||
if [ "${DOCKER_SHELL}" == "1" ]; then
|
||||
docker exec -it ${DOCKER_CONTAINER} /bin/bash
|
||||
else
|
||||
docker exec \
|
||||
${DOCKER_CONTAINER} \
|
||||
/bin/bash -c \
|
||||
"${SOURCE_DIR}/scripts/make_common.sh \"${PROJECT_CMAKE_BUILD_TYPE}\" \"${PROJECT_BUILD_ARCH}\" \"${PROJECT_BUILD_CLEAN}\" ${IS_MINGW} ${IS_UNIX}" || exit 1
|
||||
fi
|
||||
|
||||
docker stop ${DOCKER_CONTAINER}
|
||||
docker rm ${DOCKER_CONTAINER}
|
||||
fi
|
Reference in New Issue
Block a user