Hi David,
To my knowledge GPS has no clue where true north is, unless it is moving undisturbed in one direction. The only way for the device to know where the true north is, is to use magnetometer.
If your GPS unit has built-in magnetometer like HMC5883L, I recommend putting GPS unit on a ~14cm stand far from power wires (which should preferably be twisted). If it's Naza compatible GPS, it may be able to transmit magnetometer samples over the same serial wires as GPS signal. If it's other M8N, they may have two I2C wires or you need to break those wires out and make connector yourself.
Then you need to do outdoors calibration (important highligted) by keeping copter in the air and using oplink, far away from your laptop. Copter should be a complete build, which you are not going to change after calibration, otherwise Mag recalibration will be needed.
You also have to make sure your external (AuxMag) is oriented the same way as Mag inside flight controller. If it's not, then it's possible to correct rotation for AuxMag in GCS.
Also note that AuxMag for other than OP GPS units, is supported only in development branch "next". Development code, may compile or may not, but usually it works.