Difference between revisions of "AnyWave:DeveloperCorner"
(→Create a project) |
(→Create a project) |
||
Line 36: | Line 36: | ||
CONFIG += release warn_off c++11 plugin | CONFIG += release warn_off c++11 plugin | ||
ROOT=$$(AW_ROOT) | ROOT=$$(AW_ROOT) | ||
+ | # on Mac OS the required folders are located inside the application bundle. | ||
macx{ | macx{ | ||
ROOT = $$(AW_ROOT)/Contents | ROOT = $$(AW_ROOT)/Contents | ||
} | } | ||
− | |||
INCLUDEPATH += $$ROOT/include | INCLUDEPATH += $$ROOT/include | ||
− | LIBS += -L$$ROOT/ | + | LIBS += -L$$ROOT/lib |
DESTDIR = $$ROOT/Plugins | DESTDIR = $$ROOT/Plugins | ||
+ | |||
+ | # Mac OS application has a separated folder for Plugins. | ||
macx { | macx { | ||
DESTDIR = $$ROOT/../../Anywave_Plugins | DESTDIR = $$ROOT/../../Anywave_Plugins | ||
− | LIBS += -F/Library/Frameworks | + | # shared libs on Mac are located in the application bundle. |
+ | LIBS += -F/Library/Frameworks -L$$ROOT/dylibs | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:17, 5 September 2018
Contents
Welcome
This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.
AnyWave is written using the Qt Framework and the Qt plugin mechanism, so a good knowledge of the Qt Framework is required.
The SDK
If you have installed AnyWave on your system, you will find all the required files in the installation folder.
Linux
Build from sources following the instructions on our Gitlab.
Considering the default installation path, the requires folders to build a plugin are:
- /usr/local/AnyWave/include
- /usr/local/AnyWave/lib
Mac OS
The required folders to build a plugin are:
- /Applications/AnyWave.app/Contents/include
- /Applications/AnyWave.app/Contents/dylibs
Windows
The required folders to build a plugin are:
- AnyWave\include
- AnyWave\lib
Basic requirements to build a plugin
We strongly recommend QtCreator as the tool to use which is available along with the Qt open source package you will need to build a plugin.
Download Qt and Qt Creator here: Get Qt and Qt Creator
Note:
The Windows version of AnyWave is built with Visual Studio 2017 though, so, if you plan to build a plugin for Windows, consider using this tool along with the Qt VS Addin.
Technically speaking you can build a plugin with QtCreator using another compiler like gcc or clang.
You will need to put the runtime DLL files of the chosen compiler into the AnyWave folder after you copied the plugin into the Plugins subdirectory.
Create a project
Every Qt project starts with a .pro file which is the format used by qmake, the tool for building Qt projects.
Building an AnyWave plugin requires that the paths to AnyWave headers and libraries must be set.
A good practice is to set an environment variable called AW_ROOT that points to the root folder of your AnyWave installation.
Example:
CONFIG += release warn_off c++11 plugin ROOT=$$(AW_ROOT) # on Mac OS the required folders are located inside the application bundle. macx{ ROOT = $$(AW_ROOT)/Contents } INCLUDEPATH += $$ROOT/include LIBS += -L$$ROOT/lib DESTDIR = $$ROOT/Plugins # Mac OS application has a separated folder for Plugins. macx { DESTDIR = $$ROOT/../../Anywave_Plugins # shared libs on Mac are located in the application bundle. LIBS += -F/Library/Frameworks -L$$ROOT/dylibs }
You may use this file as .pri that you could include in every project you plan to develop:
Tutorials: