I just found PPL and it looks promising. I might use it in ExtPlane or my other future plugins.
~/src/PPL$ qmake
Info: creating stash file /home/vranki/src/PPL/.qmake.stash
~/src/PPL$ make
g++ -c -pipe -Wextra -Wfloat-equal -Wno-c++11-narrowing -pedantic -fvisibility=hidden -O2 -fPIC -std=gnu++1y -Wall -W -DXPLM200 -DXPLM210 -DPRIVATENAMESPACE= -DAPL=0 -DIBM=0 -DLIN=1 -DNDEBUG -I. -Iinclude/simpleini -I../SDK/CHeaders/XPLM -I../SDK/CHeaders/Widgets -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o objects/pluginpath.o src/pluginpath.cpp
In file included from src/pluginpath.h:34:0,
from src/pluginpath.cpp:34:
src/namespaces.h:40:54: error: conflicting declaration of namespace ‘PPL’
namespace PPLNAMESPACE{} namespace PPL = PPLNAMESPACE;
^
src/namespaces.h:37:32: note: previous declaration of namespace ‘PPL’ here
#define PPLNAMESPACE EVALUATOR(PPL, PRIVATENAMESPACE)
^
src/namespaces.h:35:21: note: in definition of macro ‘PASTER’
#define PASTER(x,y) x ## y
^
src/namespaces.h:37:22: note: in expansion of macro ‘EVALUATOR’
#define PPLNAMESPACE EVALUATOR(PPL, PRIVATENAMESPACE)
^~~~~~~~~
src/namespaces.h:40:11: note: in expansion of macro ‘PPLNAMESPACE’
namespace PPLNAMESPACE{} namespace PPL = PPLNAMESPACE;
^~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-c++11-narrowing’
Makefile:426: recipe for target 'objects/pluginpath.o' failed
make: *** [objects/pluginpath.o] Error 1
X-Plane SDK is in ../SDK (had to look in the .pro file to figure this out).
Documentation should be added to README.md (or a link to docs if they exist somewhere).. I might be doing something wrong here.