<div dir="ltr">Hi,<div><br></div><div>Our project uses boost on Windows. Except thread library, all other library need to be linked statically. To achieve this, what I did is this</div><div><br></div><div>ADD_DEFINITIONS(-D BOOST_THREAD_DYN_DLL)</div>
<div>set(Boost_USE_STATIC_LIBS        ON)</div><div>set(Boost_USE_MULTITHREADED      ON)</div><div>find_package( Boost COMPONENTS thread system date_time regex filesystem chrono) </div><div><br></div><div>As per boost documentation, in windows the static boost libraries are started with the name "libboost*.lib" and the import libraries of dlls start with "boost*".</div>
<div><br></div><div>If I turn ON or OFF  "Boost_USE_STATIC_LIBS", the value returned by </div><div><br></div><div>GET_FILENAME_COMPONENT(BFILESYS ${Boost_FILESYSTEM_LIBRARY_RELEASE} NAME_WE)<br></div><div><br></div>
<div>is always  "C:/Program Files/boost_1_53_0/stage/lib/libboost_filesystem-vc100-mt-1_53.lib"</div><div><br></div><div>I was expecting that, if the Boost_USE_STATIC_LIBS is ON, the output to be "*lib*boost_filesystem-vc100-mt-1_53.lib" and if the  Boost_USE_STATIC_LIBS is OFF, the output to be "boost_filesystem-vc100-mt-1_53.lib".</div>
<div><br></div><div>Is anything going wrong here? Can anybody clarify this?</div><div><br></div><div>Thanks,</div><div>  Lloyd</div></div>