| #!/bin/bash |
| set -ex |
| |
| hide_output() { |
| set +x |
| on_err=" |
| echo ERROR: An error was encountered with the build. |
| cat /tmp/cmake_build.log |
| exit 1 |
| " |
| trap "$on_err" ERR |
| bash -c "while true; do sleep 30; echo \$(date) - building ...; done" & |
| PING_LOOP_PID=$! |
| "$@" &> /tmp/cmake_build.log |
| trap - ERR |
| kill $PING_LOOP_PID |
| rm /tmp/cmake_build.log |
| set -x |
| } |
| |
| # LLVM 17 requires CMake 3.20 or higher. |
| # This script is not necessary for images using Ubuntu 22.04 or newer. |
| CMAKE=3.20.3 |
| curl -L https://github.com/Kitware/CMake/releases/download/v$CMAKE/cmake-$CMAKE.tar.gz | tar xzf - |
| |
| mkdir cmake-build |
| cd cmake-build |
| hide_output ../cmake-$CMAKE/configure |
| hide_output make -j$(nproc) |
| hide_output make install |
| |
| cd .. |
| rm -rf cmake-build |
| rm -rf cmake-$CMAKE |