So, the cmake scipt did not find the libgps includes on its own.
The logic goes like this:
1. If cmake finds libgps include files, then opencpn will be built with libgps support.
2. if built with libgps support, then the entry "libgps" will be in the NMEA
selector control, whether or not a usable libgps exists on the target system.
3. If the user selects libgps as NMEA source at run-time, and a usable libgps library is found (Balps version test patch needs to be included..), then all will be well. If the library is not found, or too old, a message is presented.
So, the question is: I did not change cmake script for Beta 604. Why did cmake fail to find the libgps headers this time?
Aha! I just thought of something. cmake is not reliable about its cache management. The search for libgps (and lots of other things)is cached from run-to-run. Mistakes
are often made.....
I find it best to
$rm -f CMakeCache.txt
between cmake runs, especially if I have changed something.....
cmake has no built-in cli option to force a new cache. It can be done from windows gui. "Delete Cache" button is right there.
What were they (not) thinking?