#!/bin/bash set -x # Create and enter build directory. rootdir=`pwd` mkdir -p ${EIGEN_CI_BUILDDIR} cd ${EIGEN_CI_BUILDDIR} # Configure build. cmake -G Ninja \ -DCMAKE_CXX_COMPILER=${EIGEN_CI_CXX_COMPILER} \ -DCMAKE_C_COMPILER=${EIGEN_CI_C_COMPILER} \ -DCMAKE_CXX_COMPILER_TARGET=${EIGEN_CI_CXX_COMPILER_TARGET} \ ${EIGEN_CI_ADDITIONAL_ARGS} ${rootdir} target="" if [[ ${EIGEN_CI_BUILD_TARGET} ]]; then target="--target ${EIGEN_CI_BUILD_TARGET}" fi # Builds (particularly gcc) sometimes get killed, potentially when running # out of resources. In that case, keep trying to build the remaining # targets (k0), then try to build again with a single thread (j1) to minimize # resource use. cmake --build . ${target} -- -k0 || cmake --build . ${target} -- -k0 -j1 # Return to root directory. cd ${rootdir} set +x