Flip Configuration Guide

Setting up Manually

This chapter explains how to set up your build environment manually.


Integrating the Flip framework consists of :

Even when not using the gyp build system, the gyp and gypi makes a good reference for the necessary tasks to execute to integrate the Flip framework.

The following sections will describe each of those tasks.

Including Source and Header Files


The only necessary files to include are the .cpp source files contained directly in src and src/detail folders. This represents the core of the Flip framework. In particular the core does not depend on the contrib sources.

You can optionnaly include the header .h and code header .hpp files.

Important: If including those files to your build system generate errors for XCode, please make sure to read the Troubleshooting XCode header inclusion below

Setting up the include path

The only path to include in your project IDE is the include folder.

Setting up IDE options

If you are including header files, you will want to troubleshoot XCode header inclusion as described in the next section.

The Flip framework natively both support the C++11 and C++14 language dialect.

On Windows you need to add a dependency on the ws2_32.lib Winsocket 2 library. You also need to disable the following warnings :

If you enabled more warnings through the AdditionalOptions: /Wall directive, then please read MSVC Warnings Notes

Troubleshooting XCode header inclusion

The default XCode header inclusion rule specifies that headers added to the project will be searched directly. This means that the Document.h file could be accessed as :

#include "Document.h"

instead of :

#include "flip/Document.h"

This is problematic on platforms where the HFS filesystem is specified as case insensitive. In this case system header files including for example float.h will use flip/Float.h instead.

On MacOS X, the issue arrises for flip/Float.h and flip/Signal.h.

To overcome this problem, the Flip user developer will have to explicitely tell XCode not to search those files by specifying USE_HEADERMAP to NO. This is done my adding a User-Defined Setting either in your Project or Target Build Settings.

More information on this matter is available here.