Hi Jules,
I have seen in your OpenGLShaderProgram header file that you specify that type in addShader() function must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
Is it restricted anywhere else in your code or could I specify a GL_GEOMETRY_SHADER type (OGL 4.2) ?
Why do you have specified only previous ones ?
Best regards