Review Request 112448: FindSamba add PkgConfig fallback
Mark Gaiser
markg85 at gmail.com
Sun Sep 8 12:12:48 UTC 2013
> On Sept. 7, 2013, 8:48 p.m., Christophe Giboudeaux wrote:
> > cmake/modules/FindSamba.cmake, lines 24-30
> > <http://git.reviewboard.kde.org/r/112448/diff/1/?file=186323#file186323line24>
> >
> > I recommend using PC_SAMBA_INCLUDEDIR and PC_SAMBA_LIBDIR as hints for the find_path / find_library calls instead
> >
> > eg:
> > if(NOT WIN32)
> > find_package(PkgConfig)
> > if(PKG_CONFIG_FOUND)
> > pkg_check_modules(PC_SAMBA smbclient)
> > endif()
> > endif()
> >
> > find_path(SAMBA_INCLUDE_DIR NAMES libsmbclient.h HINTS ${PC_SAMBA_INCLUDEDIR})
> >
> > find_library(SAMBA_LIBRARIES NAMES smbclient HINTS ${PC_SAMBA_LIBDIR})
>
> Mark Gaiser wrote:
> While it certainly looks cleaner, isn't it a bit strange to do it like that? I mean, it sounds so strange to let pkg-config search for samba and then fall back to the other search stuff to again find samba..
>
> Alexander Neundorf wrote:
> The if(NOT WIN32) is not needed. If pkgconfig is not found, pkg_check_modules() simply does nothing.
>
> Interesting point.
> But I agree with Christophe. That way, i.e. use pkg-config to give hints to the actual find-calls, the result is in the same form in all cases, whether it has been found with or without pkg-config.
> I.e. the SAMBA_INCLUDE_DIR and SAMBA_LIBRARIES are cached cmake variables and can be edited by the user.
> When using pkg-config results directly, this is different.
It makes no sense to me.. The way i made it the pkg-config route is being taken when the current search stuff fails and either SAMBA_INCLUDE_DIR or SAMBA_LIBRARIES is empty. If it is, the fallback will use pkg-config and fill those vars if it can.
In other terms, pkg-config is a fallback! In your proposal pkg-config is not a fallback but is always used (when found) just to provide an extra hint.. That seems wrong to me.
- Mark
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112448/#review39550
-----------------------------------------------------------
On Sept. 2, 2013, 1:04 p.m., Mark Gaiser wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112448/
> -----------------------------------------------------------
>
> (Updated Sept. 2, 2013, 1:04 p.m.)
>
>
> Review request for Build System.
>
>
> Description
> -------
>
> FindSamba couldn't find samba on my machine. Perhaps because it's Samba 4 and it's include folder is /usr/include/samba-4.0/. However, "pkg-config --cflags-only-I smbclient" worked just fine and returned the correct include path. This patch falls back to pkg-config if it couldn't find samba.
>
>
> Diffs
> -----
>
> cmake/modules/FindSamba.cmake c4df80f
>
> Diff: http://git.reviewboard.kde.org/r/112448/diff/
>
>
> Testing
> -------
>
> Works, finds samba without issues.
>
>
> Thanks,
>
> Mark Gaiser
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20130908/344de7fa/attachment.html>
More information about the Kde-buildsystem
mailing list