Making non-standard OS checks in cmake?

Alexander Neundorf neundorf at kde.org
Fri Jan 1 20:15:21 CET 2010


On Friday 01 January 2010, Pau Garcia i Quiles wrote:
> On Fri, Jan 1, 2010 at 7:22 PM, Raphael Kubo da Costa <kubito at gmail.com> 
wrote:
> > On Friday 01 January 2010 16:01:14 Alexander Neundorf wrote:
> >> On Friday 01 January 2010, Raphael Kubo da Costa wrote:
> >> > Hey there,
> >> >
> >> > As you can see on my.cdash.org, both kdeadmin and kdenetwork fail to
> >> > build
> >> >
> >> > cleanly on FreeBSD:
> >> >  * kdeadmin/kuser's CMakeLists.txt's check for the need to link
> >> > against -
> >> >
> >> > lcrypt is broken on FreeBSD,  since the crypt() function is defined in
> >> > unistd.h, not crypt.h, even though -lcrypt still must be passed to the
> >> > compiler
> >>
> >> Does crypt.h also exist ?
> >> You could also try check_symbol_exists() (
> >> http://www.cmake.org/cmake/help/cmake2.6docs.html#module:CheckSymbolExis
> >>ts ) to find out whether crypt() is in unistd.h or crypt.h
> >
> > No, crypt.h doesn't exist. Would check_symbol_exists() not work then? How
> > about using check_library_exists()?
>
> Something like this should work in all cases:
>
> find_file( CRYPT_HEADER crypt.h )

or 
check_include_files(crypt.h HAVE_CRYPT_H)

Alex


More information about the Kde-buildsystem mailing list