Linking against non versioned or major library

The version that will be written to the NEEDED section depends on the SONAME of the linked library. That means the linker reads it from the file your /usr/lib/x86_64-linux-gnu/libnova.so ultimately points to. This has nothing to do with CMake, it’s how the linking works.

So you’d have to build libnova with appropriate SONAME. I do not recommend this however as it’ll break stuff sooner or later when whoever installs your software would have an incompatible version of libnova on their system.

1 Like