Hi Jasem
I've been having a look over the code. In addition to getting the framework right I'd also like to get it onto Travis CI. C++ projects are known to be a little bit more tricky than most other project types but I see first up your CMAKE version is 2.6. For the time being this is good as standard Travis without fiddling to much is 2.8.
The first step is to select the lowest hanging fruit to write a UT for. To achieve that we'll have to refactor to pull in the needed frameworks for GT and GM so this will involve some messing around with the CMakeLists.txt files. I will look at doing that over the next day or so in a Github fork.
On a side note, since I am new, I have no idea if you maintainers have discussed adopting a framework such as Qt5? Reason I ask is deep frameworks like this help an awful lot when moving to a CI/CD style system. This is because if you start building standard OS support components then you have to write unit/integration tests for them. However, you never have to unit test a component from say Qt5 because they UT them themselves so you avoid a load of wheel reinventing.
Also, Qt5 is cross platform, once Linux is stable we can look at, err, taking on other OS systems. On WIndows it's ASCOM, on *NIX it's Indi. Why not have a common one. ASCOM can never come to *NIX (natively) due to it's total reliance on .NET. Anyway, I'm just asking the question here, feel free to slap me down if this conversation has already been thrashed out in your community
--Andy