Is there a "proper" way of adding an external library?

I’m testing software PWM RCOutput on Rpi and to implement it I had to add pigpio library (GitHub - joan2937/pigpio: pigpio is a C library for the Raspberry which allows control of the General Purpose Input Outputs (GPIO).). I initially tried creating a new subfolder in the libraries and adding it to depended libraries list in, but the library would’t build as part of ardupilot. I assumed by the number of errors that lots of modifications would be required to make it so. So I decided to put it in the modules folder as a git submodule instead. There I could build it with make separately with no problems.

Then to add it to include and lib paths I modified and, but it wasn’t obvious to me how to limit the scope of my change to only one board. So for example if I try building sitl version later I will have to use a different git branch that doesn’t contain my pigpio changes.

Is there a simple way of adding an external include and LD lib paths as well as an -lmy_exteral_lib switch to waf build so it applies only to one board?