Skip to content

patriciogonzalezvivo/ada_example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a "Hello World" program using ADA.

Please visit ADA repository for more information on how to compile.

1. Install Dependencies

Windows

  • Visual Studio 2019 or higher. Make sure to check "Desktop development with C++" and "Universal Windows Platform development" are installed
  • A git client
  • CMake (through Scoop is recommended)

MacOS

brew install glfw3 pkg-config

For video support (using FFMpeg library LIBAV), also do:

brew install ffmpeg --build-from-source

Linux: Debian based distributions with X11 Window Managers (Ex: Ubuntu, Raspberry Pi OS, etc)

sudo apt install git cmake xorg-dev libglu1-mesa-dev

For video support (using FFMpeg library LIBAV), also do:

sudo apt install ffmpeg libavcodec-dev libavcodec-extra libavfilter-dev libavfilter-extra libavdevice-dev libavformat-dev libavutil-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev

Linux: Debian based distributions with no X11 Window manager (Raspberry Pi OS)

sudo apt install git cmake libgbm-dev libdrm-dev libegl1-mesa-dev libgles2-mesa-dev

Linux: Fedora distribution

sudo dnf install git gcc-c++ cmake mesa-libGLU-devel glfw-devel libXi-devel libXxf86vm-devel 
sudo yum install libXdamage-devel 

For video support (using FFMpeg library LIBAV), also do:

sudo dnf install ffmpeg ffmpeg-devel

Linux: Arch distribution

sudo pacman -S glu glfw-x11

For video support (using FFMpeg library LIBAV), also do:

sudo pacman -S ffmpeg

Emscripten WebAssembly project

Follow emscripten installation instructions:

git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
cd ..

2. Compiling the projects

For windows managers like MacOS, Windows or Linux (with X11 Window Manager) (all through GLFW)

git clone --recursive https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake ..
make
./hello_world

For Linux with no X11 Window Manager

git clone --recursive https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake -DNO_X11=TRUE ..
make
./hello_world

As a Emscripten WebAssembly project

git clone --recursive https://github.com/patriciogonzalezvivo/ada_example.git
cd ada_test
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
make

python3 -m http.server 

Then open http://localhost:8000/