M_MMAP_THRESHOLD is #defined in malloc.h, there are no #ifdefs around it. You include that header, you get the symbol, no matter what.
Sent from my iPhone On May 12, 2012, at 5:27, Andreas Mohr <a...@lisas.de> wrote: > Hi, > > On Fri, May 11, 2012 at 03:41:59PM -0400, cmake-requ...@cmake.org wrote: >> Date: Fri, 11 May 2012 13:32:55 -0400 >> From: Leif Walsh <leif.wa...@gmail.com> >> >> I want to check whether M_MMAP_THRESHOLD is defined in either malloc.h or >> sys/malloc.h, and whether CLOCK_REALTIME is defined in either time.h or >> sys/time.h. I thought this would work: >> >> check_symbol_exists(M_MMAP_THRESHOLD "malloc.h;sys/malloc.h" >> HAVE_M_MMAP_THRESHOLD) >> check_symbol_exists(CLOCK_REALTIME "time.h;sys/time.h" HAVE_CLOCK_REALTIME) >> >> In this case, I found CLOCK_REALTIME but not M_MMAP_THRESHOLD (they both >> exist on this system, btw). > > I don't have much experience in this area, but are you sure > that M_MMAP_THRESHOLD does indeed exist after including this header > in an app? > This may easily be one of the cases where it gets defined by the header > *only* in case a specific "SDK variant/mode" define was provided by the user. > (see e.g. the popular case of math.h, where certain defines have to be > provided > before including it, in order to gain access to certain features) > > If this is the case here, then CheckSymbolExists.cmake perhaps should be > extended to document these potential include pre-conditions. > > > The best way to verify define existence would obviously be a more _manual_ > compile setup > of a dummy source plus header include. > > Andreas Mohr -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake