I've been toying with the gps a little and managed to get some gps satellites to show up in CM12, but cannot yet get an efficient lock. It is better than nothing though. I'm going to see if there is any way I can improve the fix further. The real interesting part is that I first tested it by flashing to stock and running "gps test" app and also "gps status test and fix" app. Both obtained a lock within 10 seconds and viewed 21 satellites, and connected to 10-12 of them. After flashing back to my backup of CM12 (first wiping everything in TWRP), the apps now can see satellites in view but do not "connect to them". This allowed the device only setting to function even though I could not get a "lock" officially with the gps test app. I'm going to dig into this further after getting some rest.
Maybe someone with more experience than I can do this quicker and find a fix.
Edit: managed to get a fix in CM12... restored back to stock and opened "gps status test and fix" app, and allowed it to "get xtra data" then left it running for about 5 minutes, making sure the screen stayed on. Then I launched the "gps test" app and let it get a lock and again left it running (screen on) for about 5 minutes. I updated my profile and PRL. Then wiped everything, afterwards restoring CM12 backup. At this point I ran the "gps status test and fix" app once again and clicked on "get xtra data". Then I was able to get a lock. Might be something to it. Going to test further, but anyone with gps problems should give it a try.
Make sure you do not click on Reset Gps in the "gps status test and fix" app as this will erase the satellites stored and you will have to start over. This is probably a temp fix, so I will continue to test it tomorrow during the day.