<div class="gmail_quote">On Sun, Sep 20, 2009 at 3:02 PM, Hendrik Sattler <span dir="ltr"><<a href="mailto:post@hendrik-sattler.de">post@hendrik-sattler.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Am Sonntag 20 September 2009 17:16:19 schrieb Philip Lowman:<br>
<div><div></div><div class="h5">> Hello,<br>
><br>
> I've merged (optional) Pthreads-win32 support into a FindThreads.cmake<br>
> attached in the tracker and added some documentation on how to use it.<br>
> Since FindThreads isn't my module I wanted to throw this up on the mailing<br>
> list for feedback.<br>
><br>
> <a href="http://www.cmake.org/Bug/view.php?id=6399" target="_blank">http://www.cmake.org/Bug/view.php?id=6399</a><br>
><br>
><br>
> Also, in regard to a previous mailing list thread about FindThreads...<br>
><br>
> I'm not sure which platform the block "Check if compiler accepts -pthread"<br>
> is executed on. The documentation I attached to the code advises calling<br>
> "target_link_libraries(target ${CMAKE_THREAD_LIBS_INIT})". After grokking<br>
> the code a bit further I'm now guessing this "-pthread" argument is<br>
> technically accepted by the linker and not needed by the compiler, but it<br>
> would be nice to know this for sure to ensure the documentation is correct.<br>
<br>
</div></div>gcc says:<br>
-pthread<br>
Adds support for multithreading with the pthreads library. This<br>
option sets flags for both the preprocessor and linker.<br>
<br>
So it may work to only use it during linking but this may cause subtle failure<br>
on some platforms.<br>
<br>
When writing FindThreads.cmake, it would be better to really rewrite it and<br>
use the common naming standards for cmake modules.<br></blockquote><div><br>I'm hesitant to rewrite anything that works, especially if it works on platforms I don't have access too. :)<br><br>Include & library variables probably could be added if it can be done in a safe way with the compile checks already in place.<br>
<br>Not sure on -pthread, we've never added it to our gcc command lines before. Looking at the man page, it's only a compile flag under IA-64, RS-6000, PPC, and SPARC. Would recommending people add it to their compiler flags and only rely on the output of ${CMAKE_THREAD_LIBS_INIT} for linking be the right thing to do?<br>
<br></div></div>-- <br>Philip Lowman<br>