Rough attempts to build stuff from scratch
apps | ||
src | ||
test | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README.md |
MediaTool
This is a collection of tools and apps for working with various media (Web, Desktop Publishing, Video/Audio) on different platforms (Linux, Windows).
It tries to have low dependencies and lots of things are built from scratch.
This is a personal/hobby project - things will break/change a lot.
Build Dependencies
Linux
Minimal
sudo apt-get install build-essential cmake
Optional
Audio
sudo apt-get install libasound2-dev
Image Formats
sudo apt-get install libpng-dev
Window rendering
sudo apt-get install libwayland-dev wayland-protocols libx11-dev libxkbcommon-dev libx11-xcb-dev
We need to generate suitable xdg shell c code for wayland:
mkdir $WORK_DIR
cd $WORK_DIR
wayland-scanner private-code < /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml > xdg-shell-protocol.cpp
wayland-scanner client-header < /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml > xdg-shell-client-protocol.h
export WAYLAND_EXTENSION_DIR=$WORK_DIR
In xdg-shell-protocol.cpp
- we need access to xdg_wm_base_interface
so export it also extern const struct wl_interface xdg_wm_base_interface;
as per similar interface structs.
3D Rendering
sudo apt-get install libgl-dev libegl1-mesa-dev
fonts
sudo apt-get install libfreetype-dev
Build from Source
Linux
mkdir build
cd build
cmake $PATH_TO_SOURCE
make
apps/$NAME_OF_APP