Review Request 129316: Add new cmake module `FindLibinotify.cmake`.
Adriaan de Groot
groot at kde.org
Wed Nov 23 13:12:07 UTC 2016
> On Nov. 9, 2016, 9:21 a.m., Adriaan de Groot wrote:
> > This adds a cmake module to do the right kind of checking (for inotify) for the platform:
> > - on linux, check for the kernel subsystem / header
> > - on freebsd, check for the port / header
> > So it's still going to have knock-on effects (or subsequent reviews and changes) for consumers of inotify?
> >
> > The name FindLibinotify doesn't really make sense for the linux case (where it's not a library). Should it be named FindInotify instead?
>
> Tobias Berner wrote:
> Yes, it require further changes as in other stuff, as ${LIBINOTIFY_INCLUDE_DIRS} ${LIBINOTIFY_LIBRARIES} needs to be added to the consumers.
I would suggest naming it FindInotify then, since that's the functionality it's looking for; also makes the change look less weird on Linux, where Libinotify doesn't make sense.
Some notes:
- on linux, sys/inotify.h always (?) exists
- on FreeBSD, /usr/local/include/sys/inotify.h is installed from a package not related to the kernel
So the check for sys/inotify.h in this module is OK on both systems.
Shouldn't the if(Linux) branch also set LIBINOTIFY_LIBS and LIBINOTIFY_INCLUDE_DIRS (to empty values), to avoid warnings later?
- Adriaan de
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129316/#review100741
-----------------------------------------------------------
On Nov. 3, 2016, 7:30 a.m., Tobias Berner wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129316/
> -----------------------------------------------------------
>
> (Updated Nov. 3, 2016, 7:30 a.m.)
>
>
> Review request for Extra Cmake Modules, Adriaan de Groot, Gleb Popov, and Raphael Kubo da Costa.
>
>
> Repository: extra-cmake-modules
>
>
> Description
> -------
>
> FreeBSD also has inotify. However it is a library and not a kernel subsystem.
>
>
> With that change, targets checking for sys/inotify.h could switch from something like
> ```
> option(ENABLE_INOTIFY "Try to use inotify for directory monitoring" ON)
> if(ENABLE_INOTIFY)
> include(CheckIncludeFiles)
> check_include_files(sys/inotify.h SYS_INOTIFY_H_FOUND)
> set(HAVE_SYS_INOTIFY_H ${SYS_INOTIFY_H_FOUND})
> endif()
> ```
> to
> ```
> option(ENABLE_INOTIFY "Try to use inotify for directory monitoring" ON)
> if(ENABLE_INOTIFY)
> find_package(Libinotify)
> set_package_properties(Libinotify PROPERTIES
> PURPOSE "Filesystem alteration notifications using inotify")
> set(HAVE_SYS_INOTIFY_H ${LIBINOTIFY_FOUND})
> else()
> set(HAVE_SYS_INOTIFY_H FALSE)
> endif()
> ```
> [from kcoreaddons], and append `${LIBINOTIFY_INCLUDE_DIRS}` to the `include_directories`, aswell as `${LIBINOTIFY_LIBRARIES}` to the link-libraires.
>
>
> Diffs
> -----
>
> find-modules/FindLibinotify.cmake PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/129316/diff/
>
>
> Testing
> -------
>
> Used in the unofficial KDE FreeBSD ports.
>
>
> Thanks,
>
> Tobias Berner
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20161123/44db8734/attachment.html>
More information about the Kde-buildsystem
mailing list