[cmake-developers] [PATCH] FindProtobuf: fix wrong library list for Unix

Antonio Pérez Barrero apbarrero at gmail.com
Mon Feb 8 16:24:35 EST 2016


El lun., 8 feb. 2016 a las 19:28, Brad King (<brad.king at kitware.com>)
escribió:

> On 02/08/2016 11:47 AM, Antonio Perez Barrero wrote:
> > Avoid looking for debug library unless configuring for MSVC.
> [snip]
> > -   find_library(${name}_LIBRARY_DEBUG
> > -       NAMES ${filename}
> > -       PATHS
> ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug)
> > -   mark_as_advanced(${name}_LIBRARY_DEBUG)
> > +   if(MSVC)
> > +       find_library(${name}_LIBRARY_DEBUG
> > +           NAMES ${filename}
> > +           PATHS
> ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/${_PROTOBUF_ARCH_DIR}Debug)
> > +       mark_as_advanced(${name}_LIBRARY_DEBUG)
> > +   endif()
>
> It is possible someone builds a debug-named library on unix too.
> See `select_library_configurations` and its uses in other find
> modules.  That is the conventional way to normalize libraries
> across configurations.
>
> Yes, it is possible, but currently it's not looking for the debug library
with a different name, just in a different path that is unlikely to exist
in a Unix system. Having the PROTOBUF_LIBRARIES variable getting the afore
mentioned value messes up the client code using `find_package(Protobuf)` on
Unix.

I might be wrong, but I think this patch solves one issue, while not
introducing another for debug libraries under Unix, since it wasn't working
either before applying it.

Thanks,
Antonio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20160208/4ff9a5b6/attachment.html>


More information about the cmake-developers mailing list