From bigfug
(Redirected from Fugio/Compiling on Ubuntu)
Jump to: navigation, search

Compiling Fugio on Ubuntu Linux

This guide will take you through all the steps required to go from a clean Ubuntu install (based on 16.04) to a fully working compiled version of Fugio (based on 3.0.0)

You'll need to be connected to the internet, and be comfortable with basic terminal skills to be able to follow this guide.

Install Build Tools

We need to install the base level of tools for compiling software.

Open a Terminal window and type in:

sudo apt-get update

sudo apt-get upgrade

These commands will make sure your system is up to date.

To make changes to your system you'll be prompted to enter your password

sudo apt-get install build-essential

This command installs any missing commands that we'll need.

Install Qt 5

Fugio is based on Qt 5, which is a fantastic cross-platform system for creating C++ based software.

sudo apt-get install qt5-default libqt5websockets5-dev libqt5serialport5-dev libqt5quickwidgets5 qttools5-dev-tools

Install Additional Tools

We'll also need to install the following tools:

sudo apt-get install git cmake cmake-gui

Download the Fugio source code

Decide where you want to compile Fugio, (here we're going to build it on the Desktop) and do the following:

cd ~/Desktop/

mkdir Fugio

cd Fugio

git clone --recursive -b develop https://github.com/bigfug/Fugio.git

git submodule init

git submodule update

Important: Note that you should now have two nested directories called Fugio:

~/Desktop/Fugio/Fugio

Dependencies

So far we have installed everything required to compile the core of Fugio however we need to install additional libraries if we want to compile the various plugins.

Plugins are designed to compile with or without the required libraries installed, so you can choose which ones you want.

sudo apt-get install libdlib-dev fftw3-dev liblua5.3-dev libopencv-dev portaudio19-dev libportmidi-dev libavutil-dev libavcodec-dev libavformat-dev libavdevice-dev libswscale-dev libswresample-dev libsnappy-dev

Video Capture

https://github.com/roxlu/video_capture

 sudo apt install cmake libv4l-dev
 
 git clone https://github.com/roxlu/video_capture
 
 cd video_capture/build

At this point I had to modify the CMakeLists.txt and include the line:

 set(CMAKE_POSITION_INDEPENDENT_CODE ON)

and then compile with:

 ./release_x86.sh 64

Building Fugio

We can build Fugio visually, using Qt Creator, or via the command line

Building Fugio by command line

If you'd rather build Fugio in your terminal, use the following steps:

cd ~/Desktop/Fugio

mkdir build-release

cd build-release

cmake ../Fugio

cmake --build .

Fugio will be built into ~/Desktop/Fugio/build-release

To install Fugio on your system, use:

cmake --build . --target install

Building Fugio using Qt Creator

Qt Creator is a visual editor for creating Qt projects. If you want to use it to compile Fugio, it's a simple procedure:

  1. Run Qt Creator
  2. Open the ~/Desktop/Fugio/Fugio/CMakeLists.txt project
  3. Choose the default build options
  4. Build and run the project