Difference between revisions of "AnyWave:BuildSDK"

From WikiMEG
Jump to: navigation, search
(Build AnyWave)
(Blanked the page)
 
(15 intermediate revisions by one user not shown)
Line 1: Line 1:
The following instructions will guide you to build AnyWave from the git repository, on Debian Jessie.<br />
 
This can also be applied to Mac OS Systems (although you will need to find the corresponding packages) if your are using repositories like homebrew.<br />
 
  
=Prepare to build=
 
AnyWave requires some librairies and tools to be installed on your system before trying to build it.<br />
 
Use the following command to get the required packages:<br />
 
<syntaxhighlight lang="bash">
 
sudo apt-get install svn git cmake qt5-default libqt5-dev libvtk6-dev libvtk6.1
 
</syntaxhighlight>
 
 
=VTK=
 
The VTK library 6.x is required. The debian package may be built using qt4 not qt5, so you may have to compile VTK by yourself using qt5.<br />
 
Download VTK 6.3.0 [http://www.vtk.org/files/release/6.3/VTK-6.3.0.tar.gz here]<br />
 
Uncompress the archive and make a separate folder to build it.<br />
 
Use cmake with variables to add Qt Support and Qt5 path:<br />
 
<syntaxhighlight lang="bash">
 
cd /path/to/VTK-Release-qt5.2.1-build
 
cmake -DVTK_QT_VERSION:STRING=5 \
 
    -DQT_QMAKE_EXECUTABLE:PATH=/path/to/qt5.2.1-install/5.2.1/gcc_64/bin/qmake \
 
    -DVTK_Group_Qt:BOOL=ON \
 
    -DCMAKE_PREFIX_PATH:PATH=/path/to/qt.5.2.1-install/5.2.1/gcc_64/lib/cmake  \
 
    -DBUILD_SHARED_LIBS:BOOL=ON
 
    /path/to/VTK
 
</syntaxhighlight>
 
 
This will build VTK with the current Qt 5.2.1 version installed. The VTK libraries will be built as shared libraries.
 
 
=QWT=
 
The Qwt library is also required to build AnyWave. The available debian package might contain a version built with qt4, not qt5. So you may have to compile the library yourself using qt5 libraries.<br />
 
Get the sources:
 
<syntaxhighlight lang="bash">
 
svn checkout svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1 qwt6.1
 
</syntaxhighlight>
 
Build with the default options:
 
<syntaxhighlight lang="bash">
 
cd qwt6.1
 
qmake qwt.pro
 
sudo make install
 
</syntaxhighlight>
 
This should build qwt as a shared library and install it to /usr/local/qwt-6.1.2
 
 
=Clone the repository=
 
clone the git repo in a folder:
 
<syntaxhighlight lang="bash">
 
git clone https://github.com/anywave aw-git
 
</syntaxhighlight>
 
Now make a folder that will become the root folder for the SDK:
 
<syntaxhighlight lang="bash">
 
mkdir aw-sdk
 
</syntaxhighlight>
 
 
=MATLAB support=
 
AnyWave can run MATLAB scripts which are bundled in a plug-in. To do so, the MATLAB support must be built.<br />
 
This requires MATLAB to be installed on the computer.<br />
 
If you want to build the MATLAB support, you must define an environment variable called '''MATLAB_ROOT''' before starting to build AnyWave:
 
<syntaxhighlight lang="bash">
 
export MATLAB_ROOT=/usr/local/MATLAB/R2015a
 
</syntaxhighlight>
 
We strongly suggest that you add this bash command to your .bash_profile file so it will be available in your bash environment.<br />
 
The path in this example is the location where MATLAB 2015a is installed by default on Debian. AnyWave will get the necessary headers and libraries from there.
 
 
=Build AnyWave=
 
Go to the sdk folder and launch cmake build:
 
<syntaxhighlight lang="bash">
 
cd aw-sdk
 
cmake ../aw-git
 
make install
 
</syntaxhighlight>
 
If cmake failed to find some libraries, like VTK or Qwt you may have to define the default path for them as follow:
 
<syntaxhighlight lang="bash">
 
cd aw-sdk
 
cmake -DVTK_DIR=/path-to-VTK6.3/lib/cmake/vtk-6.3 -DQWT_DIR=/usr/local/qwt-6.1.2 ../aw-git
 
make install
 
</syntaxhighlight>
 
If everything goes well, you will find AnyWave in your aw-sdk/bin folder.<br />
 
A Plugin folder will also be present, containing the default plugins built along with AnyWave.<br />
 
Depending if you add the MATLAB support, a shared library will be found in the lib folder.<br />
 
Copy this bin folder wherever you want on your system (/usr/local/AnyWave/bin for example), add it to the default path and launch AnyWave using Anywave.sh
 
 
=Preparing the SDK to develop plugins=
 
After you successfully built AnyWave, you will use the sdk folder as a SDK root folder for plugins.<br />
 
You must add an environment variable called '''AWSDK''' to hold the path to the SDK folder:
 
<syntaxhighlight lang="bash">
 
export AWSDK=/path-to/aw-sdk
 
</syntaxhighlight>
 
We strongly suggest that you add this line to your .bash_profile file so it will become available in your bash environment.<br />
 
You are ready to develop plug-ins.
 

Latest revision as of 09:05, 2 August 2018