| #!/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 |