Dev:IDE Windows

From Synfig Studio :: Documentation
Jump to: navigation, search

Want to setup an IDE to debug / develop synfig ? (under Windows)

Here, we will not discuss of witch IDE is better or if real hacker do all with vi/emacs

Install GIT, other tools and clone the code

Clone the code my dear

This assume you read the section "Clone the code from git"
note end

OpenGL support currently broken

OpenGL support is currently broken and the compilation of synfig-core will crash unless you compile it with --without-opengl. See [this forums post] for more details. (you can also modify synfig-core's in the section --with-open which is active by default)
note end

Before to setup any IDE, you will have to prepare the synfig-build environment under Windows. It requires administrator rights.

Here is the original "Usage notes" from (by Konstantin Dmitriev). We will follow it step-by-step!

# * Download and install Git (
# * Open Git Bash and execute following commands:
# ** mkdir C:\synfig-build
# ** cd C:\synfig-build
# ** git clone
# ** mkdir cygwin-dist
# ** cd synfig
# ** git config --global core.autocrlf input
# ** exit
# * Download Cygwin setup binary ( and save it into C:\synfig-build\cygwin-dist\ directory.
# * Run Cygwin setup and install with the default parameters.
# * Download and install NSIS >=3.0 ( Install into C:\synfig-build\NSIS\ directory.
# * (64-bit build only!) Download and install 7zip ( Install into C:\synfig-build\7zip\ directory.
# * Open Cygwin console (with administrator previlegies) and run the build script:
# ** bash C:/synfig-build/synfig/autobuild/
# * Installation bundle will be written to C:\synfig-build\
# = Other notes =
# * Builds from current repository, current revision. So you should manually checkout the desired revision to build
# * Executing script without arguments makes a full clean build and produces installer package
# * You can pass arguments to the script to invoke particular stage. 
#	Available stages: mkprep, mketl, mksynfig, mksynfigstudio, mkpackage
#	Example: 
# mkpackage
# * You can pass a custom command to be invoked in the build environment.
#	Example (executes make with respect to the build environment):
# make -j2

Warning! Your attention please!

Be aware that the lines with ** have to be executed in Git Bash. If you don't, you will meet some nasty side-effects during the first build and you may lose your sanity!
note end

Download and install Git

If you already installed Git, you can skip this section.

Visit the original website and click on the big download button. If you don't see it, go and see an ophthalmologist :P
You will be redirected on the GitHub page with the last version, offered as 32 and 64bit.

You will install it with (most of) the default values, like on the screenshots below (featuring my mouse cursor as a Guest Star).

Welcome Screen.
Press Next.
GitWinSetup 01.png
GNU GPL License Notice.
Press Next.
GitWinSetup 02.png
In this page, you should check everything.
Press Next.
GitWinSetup 03.png
Choose "Use Git from Git Bash only".
It would permit you to avoid some mess with other tools.
Press Next.
GitWinSetup 04.png
Choose "Checkout Windows-style, commit Unix-style line endings".
Press Next.
GitWinSetup 05.png
Choose "Use MiniTTY".
It has more possibilities.
Press Next
GitWinSetup 06.png
Let this one unchecked.
It doesn't take so much time anyway.
Press Next.
GitWinSetup 07.png
Uncheck this one, no need to read.
Press Finish.
GitWinSetup 08.png

Clone the Code

Start Git Bash as Administrator and type exactly all the following commands at the prompt.
You can also paste in the Git Bash window with alt-space, modify, paste
If you don't, you will notice it soon!
With Git 2.5.0 I had an error with "mkdir C:\synfig-build" so I changed it to "mkdir /c/synfig-build"

mkdir /c/synfig-build
cd C:\synfig-build
git clone
mkdir cygwin-dist
cd synfig
git config --global core.autocrlf input

Download and install Cygwin

Download Cygwin setup binary (
Save it into C:\synfig-build\cygwin-dist\ directory.

Run Cygwin setup (with administrator rights) and install with the default parameters.
It should be intalled in C:\cygwin.

Download and install NSIS

Download and install NSIS >=3.0 (
Don't use 2.46, it will fail!
Install it full into C:\synfig-build\NSIS\ directory.

You plan to build 64-bit version? You need 7zip

For the 64-bit build only! Download and install 7zip (
Install into C:\synfig-build\7zip\ directory.

First build !

Be aware that it was downloading components and compiling during more than 2 hours for me.
It depends on you bandwith, the speed of your computer and hard disk type!
But it should be only for this first build if you follow it carefully :)
Sometimes it will looks stalled but you can check in your Task Manager if there are some sh/bash executable running.
So let it run !

Open Cygwin console (with administrator privileges) and run the build script:

bash C:/synfig-build/synfig/autobuild/

You can go and take a coffee (or a cocoa, depending on your age ;) )
Installation bundle will be written to C:\synfig-build\

Netbeans from Windows

(Tested with Netbeans 8.0.2)
What Netbeans is?
Done following the video tutorial made by Konstantin Dmitriev (in russian ;)) and adapted for Windows/Cygwin.
Assuming the source will be installed in C:\synfig-build\synfig\ as expected.

Prepare your Build Tools

You have to use a specific Build Tool Collection in your project.
Go in the menu Tools / Options / C/C++ / Build Tools
Press Add (down-left).
Enter C:\cygwin\bin as Base Directory, GNU 4.x Cygwin as Tool Collection Family, and Cygwin_4.x as Tool Collection Name.


As a result, you should have the resulting information in the form:


Press Ok.
Now we are ready to setup the projects!

Import synfig (etl / core / studio) projects in Netbeans

  • Open Netbeans (if not done yet)
  • Open File/New Project....

1. Choose Project

  • Choose "C/C++ Project" under "Categories",
  • Choose "C/C++ Project with Existing Sources"
  • 2. Select Mode
Source folder c:\synfig-build\synfig
Build Host localhost
Tools Collection Cygwin 4.x (GNU 4.x Cygwin)
Configuration Mode Custom

3. Build Tool

  • Using an existing makefile


  • Uncheck "Clean and Build after Finish"

4. Build Action

Working Directory "c:/synfig-build/synfig/synfig-studio"
Build Command "${MAKE} -f Makefile -j 4 install"
Clean Command "${MAKE} -f Makefile clean"
Build Result "c:/synfig-build/dist/bin/synfigstudio.exe"
5. Source Files
  • Add "c:\synfig-build\synfig"
6. Code Assistance Configuration
  • Choose "Automatic Configuration"
7. Project Name and Location
Project Name "synfig"
Project Location "c:\synfig-build"
Project Folder "c:\synfig-build\synfig"
Build Host "localhost"
Tool Collection "Cygwin_4.x (GNU 4.x Cygwin)"
  • Press "Finish"
  • Wait a minute ... project loaded !

You are now able to build from Netbeans.