210 lines
6.9 KiB
Bash
Executable File
210 lines
6.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
id
|
|
pwd
|
|
uname -a
|
|
cat /etc/os-release
|
|
env
|
|
|
|
SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd );
|
|
|
|
#echo $SCRIPT_DIR;
|
|
|
|
gcc --version
|
|
#python2 --version
|
|
#python3 --version
|
|
|
|
INSTALL_PREFIX=/tmp/fceux
|
|
|
|
echo '****************************************'
|
|
echo "APPVEYOR_SSH_KEY=$APPVEYOR_SSH_KEY";
|
|
echo "APPVEYOR_SSH_BLOCK=$APPVEYOR_SSH_BLOCK";
|
|
echo '****************************************'
|
|
|
|
if [ ! -z $FCEU_RELEASE_VERSION ]; then
|
|
APPVEYOR_CMAKE_FLAGS=" -DPUBLIC_RELEASE=1 ";
|
|
fi
|
|
|
|
echo '****************************************'
|
|
echo '****************************************'
|
|
echo '*** Installing Package Dependencies ***'
|
|
echo '****************************************'
|
|
echo '****************************************'
|
|
echo '****************************************'
|
|
echo 'Install Dependency Updates'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes update
|
|
# Install Lua-5.1 development package
|
|
echo '****************************************'
|
|
echo 'Install Dependency lua5.1-dev'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install lua5.1-dev
|
|
pkg-config --cflags --libs lua5.1
|
|
|
|
# Install libSDL-1.2 and libSDL-2
|
|
# libSDL-1.2 no long needed
|
|
#echo '****************************************'
|
|
#echo 'Install Dependency libsdl1.2-dev'
|
|
#echo '****************************************'
|
|
#sudo apt-get --assume-yes install libsdl1.2-dev
|
|
#sdl-config --cflags --libs
|
|
echo '****************************************'
|
|
echo 'Install Dependency libsdl2-dev'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install libsdl2-dev
|
|
sdl2-config --cflags --libs
|
|
|
|
# Install libminizip-dev
|
|
echo '****************************************'
|
|
echo 'Install Dependency libminizip-dev'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install libminizip-dev
|
|
pkg-config --cflags --libs minizip
|
|
|
|
# GTK+-2 is no longer needed
|
|
#sudo apt-get install libgtk2.0-dev
|
|
|
|
# GTK3 was retired in favor of cross platform QT
|
|
## Install GTK+-3
|
|
#echo '****************************************'
|
|
#echo 'Install Dependency libgtk-3-dev'
|
|
#echo '****************************************'
|
|
#sudo apt-get --assume-yes install libgtk-3-dev
|
|
#pkg-config --cflags --libs gtk+-3.0
|
|
#
|
|
## Install GTK+-3 Sourceview
|
|
#sudo apt-get --assume-yes install libgtksourceview-3.0-dev
|
|
#pkg-config --cflags --libs gtksourceview-3.0
|
|
|
|
# Install QT5
|
|
echo '****************************************'
|
|
echo 'Install Dependency Qt5'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install qt5-default
|
|
sudo apt-get --assume-yes install qttools5-dev # For Qt Help
|
|
|
|
# Install x264
|
|
echo '****************************************'
|
|
echo 'Install Optional Dependency libx264-dev'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install libx264-dev
|
|
|
|
# Install x265
|
|
echo '****************************************'
|
|
echo 'Install Optional Dependency libx265-dev'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install libx265-dev
|
|
|
|
# Install libav (ffmpeg)
|
|
echo '****************************************'
|
|
echo 'Install Optional Dependency libav (ffmpeg)'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install libavcodec-dev
|
|
sudo apt-get --assume-yes install libavformat-dev
|
|
sudo apt-get --assume-yes install libavutil-dev
|
|
sudo apt-get --assume-yes install libswscale-dev
|
|
sudo apt-get --assume-yes install libswresample-dev
|
|
|
|
# Install cppcheck
|
|
echo '****************************************'
|
|
echo 'Install Check Dependency cppcheck'
|
|
echo '****************************************'
|
|
sudo apt-get --assume-yes install cppcheck
|
|
|
|
echo '**************************'
|
|
echo '*** Building Project ***'
|
|
echo '**************************'
|
|
mkdir -p $INSTALL_PREFIX/usr;
|
|
|
|
echo "Num CPU: `nproc`";
|
|
./scripts/unix_make_docs.sh;
|
|
|
|
mkdir buildQT; cd buildQT;
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
|
$APPVEYOR_CMAKE_FLAGS \
|
|
..
|
|
make -j `nproc`
|
|
make install DESTDIR=$INSTALL_PREFIX
|
|
|
|
cd ..;
|
|
#mkdir buildGTK; cd buildGTK;
|
|
#cmake \
|
|
# -DGTK=1 \
|
|
# -DCMAKE_BUILD_TYPE=Release \
|
|
# -DCMAKE_INSTALL_PREFIX=/usr \
|
|
# -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
|
# ..
|
|
#make -j `nproc`
|
|
#make install DESTDIR=$INSTALL_PREFIX
|
|
|
|
# Install Files
|
|
#cd .. # cd out of build
|
|
#mkdir -p $INSTALL_PREFIX/usr/bin/.
|
|
#mkdir -p $INSTALL_PREFIX/usr/share/fceux
|
|
#mkdir -p $INSTALL_PREFIX/usr/share/pixmaps
|
|
#mkdir -p $INSTALL_PREFIX/usr/share/applications
|
|
#mkdir -p $INSTALL_PREFIX/usr/man/man6
|
|
#
|
|
#cp -f ./build/fceux $INSTALL_PREFIX/usr/bin/.
|
|
#cp -a ./output/* $INSTALL_PREFIX/usr/share/fceux/.
|
|
#cp -a ./src/auxlib.lua $INSTALL_PREFIX/usr/share/fceux/.
|
|
#cp -a ./fceux.png $INSTALL_PREFIX/usr/share/pixmaps/.
|
|
#cp -a ./fceux.desktop $INSTALL_PREFIX/usr/share/applications/.
|
|
#cp -a ./documentation/fceux.6 $INSTALL_PREFIX/usr/man/man6/.
|
|
#cp -a ./documentation/fceux-net-server.6 $INSTALL_PREFIX/usr/man/man6/.
|
|
|
|
|
|
# Debug via ssh if necessary
|
|
if [ ! -z $APPVEYOR_SSH_BLOCK ]; then
|
|
curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
|
|
fi
|
|
|
|
if [ -e $INSTALL_PREFIX/usr/bin/fceux ]; then
|
|
echo '**************************************************************'
|
|
echo 'Printing Shared Object Dependencies for ./bin/fceux Executable'
|
|
echo '**************************************************************'
|
|
ldd $INSTALL_PREFIX/usr/bin/fceux
|
|
else
|
|
echo "Error: Executable Failed to build: $INSTALL_PREFIX/usr/bin/fceux";
|
|
exit 1;
|
|
fi
|
|
|
|
#if [ -e $INSTALL_PREFIX/usr/bin/fceux-gtk ]; then
|
|
# echo '**************************************************************'
|
|
# echo 'Printing Shared Object Dependencies for fceux-gtk Executable'
|
|
# echo '**************************************************************'
|
|
# ldd $INSTALL_PREFIX/usr/bin/fceux-gtk
|
|
#else
|
|
# echo "Error: Executable Failed to build: $INSTALL_PREFIX/usr/bin/fceux-gtk";
|
|
# exit 1;
|
|
#fi
|
|
|
|
echo '**************************************************************'
|
|
echo 'Printing To Be Packaged Files '
|
|
echo '**************************************************************'
|
|
find $INSTALL_PREFIX
|
|
|
|
echo '**************************************************************'
|
|
echo 'Creating Debian Package'
|
|
echo '**************************************************************'
|
|
$SCRIPT_DIR/debpkg.pl;
|
|
|
|
echo '**************************************************************'
|
|
echo 'Testing Install of Package'
|
|
echo '**************************************************************'
|
|
sudo dpkg -i /tmp/fceux-*.deb
|
|
|
|
if [ ! -z $APPVEYOR ]; then
|
|
echo 'Pushing Debian Package to Build Artifacts'
|
|
if [ -z $FCEU_RELEASE_VERSION ]; then
|
|
cp /tmp/fceux-*.deb /tmp/fceux-ubuntu-x64.deb
|
|
appveyor PushArtifact /tmp/fceux-ubuntu-x64.deb
|
|
appveyor SetVariable -Name LINUX_ARTIFACT -Value fceux-ubuntu-x64.deb
|
|
else
|
|
appveyor PushArtifact /tmp/fceux-*.deb
|
|
fi
|
|
fi
|