Last active
June 4, 2023 08:46
-
-
Save paullaffitte/c3f028dc64a55e920fa8afabff70673e to your computer and use it in GitHub Desktop.
CSFML installer for Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
SFML_VERSION='2.2' | |
GLEW_VERSION='1.10.0' | |
get_file() | |
{ | |
local file_to_get="$1" | |
local mirror="$2" | |
local filename=$(echo $file_to_get | sed -e 's/.*\///') | |
if ! [[ -f $filename ]]; then | |
if [[ -z $mirror ]]; then | |
wget "$file_to_get" | |
else | |
wget "$file_to_get" || wget "$mirror" | |
fi | |
else | |
echo "-------- $filename already exists locally, skipping..." | |
fi | |
extract_archive $filename | |
} | |
extract_archive() | |
{ | |
local file_to_extract="$1" | |
echo "extracting $file_to_extract..." | |
tar -xf $file_to_extract | |
} | |
cd /tmp | |
get_file "https://"{www,mirror2}".sfml-dev.org/files/CSFML-$SFML_VERSION-linux-gcc-64-bit.tar.bz2" | |
get_file "https://"{www,mirror2}".sfml-dev.org/files/SFML-$SFML_VERSION-linux-gcc-64-bit.tar.gz" | |
get_file "https://sourceforge.net/projects/glew/files/glew/$GLEW_VERSION/glew-$GLEW_VERSION.tgz" | |
sudo apt install libx11-dev libxmu-dev libxi-dev libgl-dev libopenal-dev | |
cd /tmp/"glew-$GLEW_VERSION" | |
make | |
sudo rm -rfv /usr/local/include/{SFML,GL} /usr/local/lib/lib{*sfml*,GLEW*} | |
sudo cp -vr /tmp/{"CSFML-$SFML_VERSION","SFML-$SFML_VERSION","glew-$GLEW_VERSION"}/{include,lib} /usr/local | |
sudo rm -v /usr/local/lib/libcsfml*".$SFML_VERSION" # Avoid ldconfig warning on identical files with different filenames (/sbin/ldconfig.real: /usr/local/lib/libcsfml-xxx.so.2.2 is not a symbolic link) | |
sudo ldconfig | |
echo -e "\n\n" | |
echo "CSFML $SFML_VERSION has been installed" | |
echo "Please remember to add -lcsfml-graphics -lcsfml-audio -lcsfml-window -lcsfml-system -lsfml-graphics -lsfml-audio -lsfml-window -lsfml-system in your Makefile" | |
echo | |
echo "2017 - Paul Laffitte - Epitech Montpellier Promo 2021" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Haha, I'm glad that you liked it. A bit of humour is always a good thing :)