Actually, I'll do that. I need to write a sample generic client that everyone can re-use in their projects like in your case. Give me a couple of days.
I went ahead and made the minimal project. I think the issue is in the find_package statement. On the github by default it finds the alignment and driver components. To get the client component you need to specify it but when I try to it doesn't find the client component. When the CMake file compiles it notifies me that it has found the driver and alignment components but there is no information on the client component.
yes, I arrived at the same conclusion. I updated cmake_modules/FindINDI.cmake documentation.
So actually, we still get to use ${INDI_LIBRARIES} as is, but the find_package is different
find_package(INDI COMPONENTS client REQUIRED)
Now the 3rd party generic client is compiling fine. I'll go ahead and write the simple client anyway since it will certainly help prospective developers in jumping into development faster. Thank you for patience on this!
Awesome! This fixed the issue! However, I am now getting a new error in the client library.
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libindiclient.a(basedevice.cpp.o): undefined reference to symbol 'uncompress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
I thought this had to do with a dependency on pthreads and tried including that using