Skip to content

Instantly share code, notes, and snippets.

@zwongeer
Created April 18, 2022 14:15
Show Gist options
  • Save zwongeer/5e89a86311079f7756f7eeea8625d549 to your computer and use it in GitHub Desktop.
Save zwongeer/5e89a86311079f7756f7eeea8625d549 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
SHELL_FOLDER=$(dirname $(readlink -f "$0"))
#cd $SHELL_FOLDER
error_trap () {
local lc="$BASH_COMMAND" rc=$?
echo "Failed:Command [$lc] exited with code [$rc]"
}
exit_trap() {
true
}
trap error_trap ERR
trap exit_trap EXIT
set -e
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
cat << EOF > /etc/apt/sources.list.d/clang.list
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
# 11
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main
# 12
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main
# 13
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main
# 14
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-14 main
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-14 main
EOF
apt update
sudo apt remove --purge --auto-remove cmake
rm -f /usr/local/bin/cmake
sudo apt install -y software-properties-common lsb-release && \
sudo apt clean all
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
sudo apt update
sudo apt install -y kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg
sudo apt install -y cmake build-essential libtool autoconf
apt install g++-11 gcc-11 valgrind
rm -f /usr/bin/gcc /usr/bin/g++
ln -s /usr/bin/gcc-11 /usr/bin/gcc
ln -s /usr/bin/g++-11 /usr/bin/g++
apt install clangd-14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment