Skip to content

Latest commit

 

History

History
122 lines (92 loc) · 3.7 KB

README.md

File metadata and controls

122 lines (92 loc) · 3.7 KB

Friction

Friction is a powerful and versatile motion graphics application that allows you to create stunning vector and raster animations for web and video platforms with ease.

Contribute

We accept any contributions (in form of a PR). Before submitting a PR it's recommended that you communicate with the developers first (in Issues or Discussions). Someone might already be working on the same feature/issue, or for some reason the feature is not wanted.

It's always preferred to submit PR's against the main branch. If your feature is experimental, a new branch could be made available for further development before entering main.

Branches and versions

Friction uses X.Y.Z version numbers and X.Y branches.

  • X = Major
  • Y = Minor
  • Z = Patch

Branch main is always the current branch for the next X or Y release. The main branch should not be considered stable, but usable.

A new stable branch is cut from main on each X or Y release and is maintained until a new stable branch is created.

The next Z release usually comes from the latest stable branch (vX.Y).

Features under development should be kept in it's own branch until ready to be merged with main.

Build

Generic build instructions.

Requirements

  • pkg-config (Linux)
  • ninja
  • python3
  • cmake (3.12+)
  • clang (7+)
  • Qt (5.15)
    • Gui
    • Widgets
    • OpenGL
    • Multimedia
    • Qml
    • Xml
  • qscintilla
  • ffmpeg (4.2)
    • libavformat
    • libavcodec
    • libavutil
    • libswscale
    • libswresample
  • libunwind (Linux)
  • expat
  • harfbuzz
  • freetype
  • fontconfig (Linux)
  • libjpeg-turbo
  • libpng
  • libwebp
  • zlib
  • icu

Windows

Special requirements for Windows:

Get

git clone --recurse-submodules https://github.com/friction2d/friction

Or download a release tarball (friction-VERSION.tar.bz2).

Build

cd 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 .

License

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.