AnyWave:DeveloperCorner

From WikiMEG
Revision as of 16:45, 25 February 2015 by Bruno (Talk | contribs)

Jump to: navigation, search

Welcome

This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.

Setting up the SDK

Before developing a plug-in for AnyWave, the developer must download and build the SDK.
The SDK is available here: https://github.com/anywave/sdk
Note that you can also try to build the complete AnyWave software which includes the SDK.
AnyWave git repository is available here: https://github.com/anywave/anywave

Clone the sdk repository on your computer:
We suggest cloning the repository in a folder named AwSDK_src (for example) to make a clear difference between source folder and build folder.

Software requirements

A C/C++ compiler is required. Linux and Mac versions of AnyWave were build using the gcc/g++ compiler which is the most common compiler on these platforms.

The Windows version was built with Visual Studio 2008, so it is strongly advised to use the same IDE to build plug-ins that will run with the Windows version of AnyWave.
However, it is possible to rebuild the complete AnyWave application using another C++ compiler and to set that version as the SDK to build plug-ins.
This choice will raise a binary incompatibility with the distributed Windows package and the developed plug-ins. See AnyWave compatibility section.

On Mac OS X, XCode must be installed to provide access to the gcc/g++ compiler.
XCode.app is freely available on the App Store.

To successfully build the SDK, at least three software must be installed on the computer:

  • The Qt4 framework
  • The VTK library (version 5.4.2 to 5.8 will work)
  • CMake 2.8 or greater.

AnyWave compatibility

When building a plug-in, the developer has two choices:

  • Build for the currently distributed binary version of AnyWave.
  • Build for its own AnyWave version built from the sources available on github.

Plug-ins for the binary distributed package of AnyWave

Pay attention that if the plug-in must work with the distributed binary versions of AnyWave it must match more requirements:

  • Qt4 must be 4.8.2 to work with the Linux debian packaged version of AnyWave.
  • Qt4 must be 4.8.1 to 4.8.5 to work with the Windows and Mac OS X versions.
  • VTK library must be 5.4.2 to 5.8.xx (VTK 6.x will not work)

The Linux and Mac versions have been built with the gcc compiler and therefore will use the glibc library.
On Mac systems, the XCode software must be installed to get access to the gcc compiler.

ATTENTION: The Windows version of AnyWave was built with Visual Studio 2008. Therefore, the plug-in must also be built using Visual Studio 2008 for binary compatibility.

Plug-ins for the developer version of AnyWave

If a developer plans to build plug-ins that will stay private, it is up to him/her not to match the requirements previously mentioned.

Building AnyWave from sources and use it as the SDK

As mentioned before, the developer is free to use the complete AnyWave source code as SDK.
The requirements to build AnyWave are the same than for the SDK.
Follow the instructions available when cloning the anywave repository to build AnyWave.

Building the SDK

The SDK requires the CMake software tool to compile, so cmake 2.8 or greater must be installed on the system.

Choose the SDK folder

The first thing to do is to create a build folder with an explicit name, for example: AwSDK, that will be the root of the SDK.

We will consider for the following explanations that the folder is named AwSDK and is located in /home/user/Dev/AwSDK
We will consider that the git repository was cloned in a folder named AwSDK_src

Run cmake

Open a terminal and go to the SDK folder:
cd /home/user/Dev/AwSDK

Launch cmake from the source repository:
cmake ../AwSDK_src

If Qt and VTK were successfully detected, then type:
make install

That will install the headers and libraries files in the AwSDK folder.
You are ready to build a plug-in.