On 2022/03/06 18:21, Rafael Sadowski wrote: > > Yet another cmake patch, which needs a full bulk test. Many of you will > > certainly know it, our cmake's SHARED_LIBS handling is broken for new > > shared libs. > > > > The default "0.0" version has been broken for several months/years. > > Here is a attempt to fix this. With the following patch you get back the > > following lines, if (a) LIBxxx_VERSION is not set and (b) SOVERSION for > > the shared lib is set by cmake. (a) is clear but (b) helps us to handle > > shared libs and not plugins (dlopen) aka shared libs without version. > > > > ... > > Warning: unregistered shared lib(s) > > SHARED_LIBS += fmt 0.0 # 0.0 > > /usr/ports/devel/fmt/pkg/PLIST is new > > > > > > Patch changes: > > > > - Remove MODULE_LIBRARY processing. > > "MODULE libraries are plugins that are not linked into other targets > > but may be loaded dynamically at runtime using dlopen-like > > functionality." -- > > https://cmake.org/cmake/help/latest/command/add_library.html > > > > - Add default "0.0" version: > > if type SHARED_LIBRARY AND empty LIBxxx_VERSION BUT SOVERSION is set. > > > > I would appreciate a bulk test, unfortunately I can't do one.
Not finished yet, but this one looks a bit odd so I'm sending it early. net/dino fails; despite having SHARED_LIBS += dino 1.0 # 0.0 the actual file produced is -rw-r--r-- 1 _pbuild _pbuild 3085740 Mar 7 12:32 libdino.so.0.0 (audio/mumble failed too, but in that case I think the mumble port is a bit broken.)