[CMake] Problems resolving PTHREAD_* symbols.

Rick McGuire object.rexx at gmail.com
Mon Sep 22 12:06:40 EDT 2014


We have some semaphore code that has conditional compilation based on
#defines in config.h.  We're having problems with resolving the various
PTHREAD_* symbols to get the correct values in config.h.  Our first attempt
at this (done on Linux) used

check_symbol_exists(PTHREAD_MUTEX_RECURSIVE "pthread.h"
HAVE_PTHREAD_MUTEX_RECURSIVE)


This did not pick the symbol up correctly.  Eventually, we got things
to work by using


check_c_source_compiles("#include <pthread.h>
                         int main(int arg, char **argv) {
                         int tryme;
                         tryme = PTHREAD_MUTEX_RECURSIVE;
                         return 0;}"
                        HAVE_PTHREAD_MUTEX_RECURSIVE)

and got everything to build cleanly.  Over the weekend, we tried
building on OSX for the first time, and once again, we were not
resolving that these symbols existed.  What are we missing here?  Is
there some technique we should be using that will work across the
various platforms?


Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140922/857dd148/attachment.html>


More information about the CMake mailing list