<div class="gmail_quote">On Sat, Apr 18, 2009 at 7:45 AM, Michael Jackson <span dir="ltr">&lt;<a href="mailto:mike.jackson@bluequartz.net">mike.jackson@bluequartz.net</a>&gt;</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;">
<div><div></div><div class="h5"><br>
On Apr 17, 2009, at 11:56 PM, Philip Lowman wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Thu, Apr 16, 2009 at 4:27 AM, Jonatan Bijl &lt;<a href="mailto:jonatan.bijl@tba.nl" target="_blank">jonatan.bijl@tba.nl</a>&gt; wrote:<br>
Boost_Unit_test_framework_library is not in the list.<br>
<br>
<br>
About the filenames: these libs are the result of compiling boost 1.38.0 with cmake under linux. (Cmake for boost is still experimental). It might be that the problem is in boost’s Cmakelists.<br>
<br>
That is definitely a bug that needs to be fixed in Boost&#39;s experimental CMake build.<br>
<br>
If you rename the library to &quot;libboost_unit_test_framework-mt-sd.a&quot;, however, it&#39;s still not going to solve your problem.<br>
<br>
The &#39;s&#39; tag is for static C++ runtime libraries and for some reason it&#39;s enabled on Windows in FindBoost.cmake when you set Boost_USE_STATIC_LIBS, but not on other platforms.  This has always seemed a bit weird to me and I&#39;ve wondered why this is.<br>

<br>
SET( _boost_STATIC_TAG &quot;&quot;)<br>
  set( _boost_ABI_TAG &quot;&quot;)<br>
  IF (WIN32)<br>
    IF(MSVC)<br>
      SET (_boost_ABI_TAG &quot;g&quot;)<br>
    ENDIF(MSVC)<br>
    IF( Boost_USE_STATIC_LIBS )<br>
      SET( _boost_STATIC_TAG &quot;-s&quot;)<br>
<br>
    ENDIF( Boost_USE_STATIC_LIBS )<br>
  ENDIF(WIN32)<br>
  SET (_boost_ABI_TAG &quot;${_boost_ABI_TAG}d&quot;)<br>
  if(Boost_DEBUG)<br>
    message(STATUS &quot;[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] &quot;<br>
<br>
      &quot;_boost_STATIC_TAG = ${_boost_STATIC_TAG}&quot;)<br>
    message(STATUS &quot;[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] &quot;<br>
      &quot;_boost_ABI_TAG = ${_boost_ABI_TAG}&quot;)<br>
  endif()<br>
-- <br>
Philip Lowman<br>
<br>
</blockquote>
<br></div></div>
It is enabled on windows because Windows offers the option to statically linkCMake 2.6.3&#39;s  to the c++ runtime. I know OS X does NOT offer that option. Not sure about linux.</blockquote><div><br>The same variable name controls whether or not you&#39;re searching for a static or a shared boost library, however.<br>
<br><pre>  if ( WIN32 AND Boost_USE_STATIC_LIBS )<br>    SET (Boost_LIB_PREFIX &quot;lib&quot;)<br>  endif()<br>...<br>    # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES<br>    IF( Boost_USE_STATIC_LIBS )<br>
      SET( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})<br>      IF(WIN32)<br>        SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})<br>      ELSE(WIN32)<br>        SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})<br>
      ENDIF(WIN32)<br>    ENDIF( Boost_USE_STATIC_LIBS )</pre></div></div><br>Shouldn&#39;t there be a difference between the two?<br><br>-- <br>Philip Lowman<br>