Friction is a powerful and versatile motion graphics application that allows you to create vector and raster animations for web and video with ease.
We accept any contributions, big or small. Before submitting a PR/MR it's recommended that you communicate with the developers first (on GitHub or Codeberg).
It's always preferred to submit PR's against the main
branch.
Friction uses X.Y.Z
version numbers and vX.Y
branches.
X
= MajorY
= MinorZ
= Patch
Branch main
is always the current branch for the next X
or Y
release.
A new stable branch is cut from main
on each X
or Y
release and is maintained until a new stable branch is created. Patch (Z
) releases comes from the parent stable branch (vX.Y
).
Important fixes added to main
will be backported to active stable branches when possible (and within reason).
Generic build instructions.
- pkg-config
- ninja
- python3
- cmake (3.12+)
- clang (7+)
- Qt (5.15.x)
- Gui
- Widgets
- OpenGL
- Multimedia
- Qml
- Xml
- qscintilla
- ffmpeg (4.2.x)
- libavformat
- libavcodec
- libavutil
- libswscale
- libswresample
- libunwind
- expat
- harfbuzz
- freetype
- fontconfig
- libjpeg-turbo
- libpng
- libwebp
- zlib
- icu
- Visual Studio 2017 Build Tools
git
must be available inPATH
cmake
must be available inPATH
python3
must be available inPATH
- LLVM installed to default location
- Qt 5.15.14 libraries and headers in
friction\sdk
- See configure_qt5.bat and build_qt5.bat
- QScintilla 2.14.1 libraries and headers in
friction\sdk
- FFmpeg 4.2.9 libraries and headers in
friction\sdk
- See build_mxe_ffmpeg.sh and mxe
Binary SDK available here.
git clone --recurse-submodules https://github.com/friction2d/friction
or
git clone --recurse-submodules https://codeberg.org/friction/friction
mkdir build
cd build
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_C_COMPILER=clang \
..
Note that on some configurations you may need to specify qscintilla
paths:
-DQSCINTILLA_INCLUDE_DIRS=<PATH_TO_QSCINTILLA_INCLUDE_DIR> \
-DQSCINTILLA_LIBRARIES_DIRS=<PATH_TO_LIBS> \
-DQSCINTILLA_LIBRARIES=<QSCINTILLA_LIBRARY_NAME> \
Now build:
cmake --build . --config Release
All requirements must be installed in the correct folders, this is an example and should be adjusted to fit your environment.
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat"
set SDK_DIR=%cd%\sdk
set PATH=C:\Python;%ProgramFiles%\CMake\bin;%ProgramFiles%\Git\bin;%SDK_DIR%\bin;%PATH%
mkdir build
cd build
cmake -G "Visual Studio 15 2017" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=%SDK_DIR% ..
cmake --build . --config Release
Copyright © Friction contributors.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.