|
caryoscelus |
0d9c55 |
Synfig Studio
|
|
caryoscelus |
0d9c55 |
=============
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
About
|
|
caryoscelus |
fb1779 |
-----
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
Synfig Studio is a free and open-source 2D animation software, designed as
|
|
caryoscelus |
fb1779 |
powerful industrial-strength solution for creating film-quality animation using
|
|
caryoscelus |
fb1779 |
a vector and bitmap artwork. It eliminates the need to create animation
|
|
caryoscelus |
fb1779 |
frame-by frame, allowing you to produce 2D animation of a higher quality with
|
|
caryoscelus |
fb1779 |
fewer people and resources. Synfig Studio is available for Windows, Linux and
|
|
caryoscelus |
fb1779 |
MacOS X.
|
|
caryoscelus |
fb1779 |
|
|
Maxwell Paul Brickner |
13e288 |
https://synfig.org/
|
|
caryoscelus |
fb1779 |
|
|
|
2ceb5a |
[![Build Status](https://travis-ci.com/synfig/synfig.svg?branch=master)](https://travis-ci.com/synfig/synfig)
|
|
|
87f55b |
|
|
caryoscelus |
fb1779 |
(TODO: add more info)
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
Installing
|
|
caryoscelus |
fb1779 |
----------
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
Old autotools instructions can be found [here][autotools].
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
We're currently in the [process of switching to CMake build system][cmake] and
|
|
caryoscelus |
fb1779 |
you're welcome to take part in testing and improving it.
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### CMake status
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
- all major components are buildable, installable and runnable
|
|
caryoscelus |
fb1779 |
- building all components without installing ETL & core is not tested
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
Tested to work on (this will be updated as reports come in):
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
- Debian Sid
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### Cleanup
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
If you have previous synfig build installed in system path (e.g. `/usr/local/`),
|
|
caryoscelus |
fb1779 |
you are recommended to uninstall that.
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### Dependencies
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
You need development & library packages of the following libs:
|
|
caryoscelus |
fb1779 |
|
|
|
a96363 |
- boost (system, program_options)
|
|
caryoscelus |
fb1779 |
- zlib
|
|
caryoscelus |
fb1779 |
- libsigc++-2.0
|
|
caryoscelus |
fb1779 |
- glibmm-2.4
|
|
caryoscelus |
fb1779 |
- giomm-2.4
|
|
caryoscelus |
fb1779 |
- cairo
|
|
caryoscelus |
fb1779 |
- libxml++-2.6
|
|
caryoscelus |
fb1779 |
- mlt++
|
|
caryoscelus |
fb1779 |
- fftw3
|
|
caryoscelus |
fb1779 |
- pango
|
|
caryoscelus |
fb1779 |
- gtkmm-3.0 (only for studio)
|
|
caryoscelus |
fb1779 |
- gettext (probably optional)
|
|
caryoscelus |
fb1779 |
- some threading support (e.g. pthread)
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
Generally CMake will throw error if it doesn't find something, so you can just
|
|
caryoscelus |
fb1779 |
run it and see what's missing. Also note that this list might not be full.
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### CMake backend
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
CMake provides generators for multiple build systems. You can use default `make`
|
|
caryoscelus |
fb1779 |
or `ninja`, which should generally work somewhat faster. The following
|
|
caryoscelus |
fb1779 |
configuration commands assume you want to use `ninja`. If you don't, remove
|
|
caryoscelus |
fb1779 |
`-GNinja` from all commands containing it. All the building commands here are
|
|
caryoscelus |
fb1779 |
invoked via cmake to make them (almost) backend-agnostic, but you can run `make`
|
|
caryoscelus |
fb1779 |
or `ninja` directly (i.e.
|
|
caryoscelus |
fb1779 |
`ninja all test` instead of `cmake --build . -- all test`).
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### Build options
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
You may want to add `-jN` (where N is amount of threads you want to run) option
|
|
caryoscelus |
fb1779 |
to build commands, because default for `make` is to run single-threaded and
|
|
caryoscelus |
fb1779 |
`ninja` tends to use too much threads which eat up your RAM (may vary).
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
### Building
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
```
|
|
caryoscelus |
fb1779 |
$ pushd ETL
|
|
caryoscelus |
fb1779 |
$ mkdir build && pushd build
|
|
caryoscelus |
fb1779 |
$ cmake -GNinja .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
caryoscelus |
fb1779 |
$ cmake --build . -- all test
|
|
caryoscelus |
fb1779 |
$ sudo cmake --build . -- install
|
|
caryoscelus |
fb1779 |
$ popd # build
|
|
caryoscelus |
fb1779 |
$ popd # ETL
|
|
caryoscelus |
fb1779 |
$ pushd synfig-core
|
|
caryoscelus |
eacf5f |
$ mkdir build && pushd build
|
|
caryoscelus |
20f20c |
$ cmake -GNinja .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS="-fdiagnostics-color"
|
|
caryoscelus |
fb1779 |
$ cmake --build . -- all
|
|
caryoscelus |
fb1779 |
$ sudo cmake --build . -- install
|
|
caryoscelus |
eacf5f |
$ popd # build
|
|
caryoscelus |
fb1779 |
$ popd # synfig-core
|
|
caryoscelus |
fb1779 |
$ pushd synfig-studio
|
|
caryoscelus |
eacf5f |
$ mkdir build && pushd build
|
|
caryoscelus |
4c2572 |
$ cmake -GNinja .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS="-fdiagnostics-color"
|
|
caryoscelus |
fb1779 |
$ cmake --build . -- all
|
|
caryoscelus |
612c6a |
# this will take a while; alternatively, you can move/copy required images
|
|
caryoscelus |
612c6a |
# to build/images directory and skip this step
|
|
caryoscelus |
612c6a |
$ cmake --build . -- build_images
|
|
caryoscelus |
fb1779 |
$ sudo cmake --build . -- install
|
|
caryoscelus |
eacf5f |
$ popd # build
|
|
caryoscelus |
fb1779 |
$ popd # synfig-studio
|
|
caryoscelus |
fb1779 |
```
|
|
caryoscelus |
fb1779 |
|
|
caryoscelus |
fb1779 |
[cmake]: https://github.com/synfig/synfig/issues/279
|
|
caryoscelus |
fb1779 |
[autotools]: http://wiki.synfig.org/Dev:Build_Instructions
|