From: Gundel D. <ope...@we...> - 2013-11-18 14:44:42
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hi Carsten,</div> <div> </div> <div> <pre>>> SET(Boost_USE_MULTITHREADED ON ) >> IF(NOT Boost_USE_STATIC_LIBS) >> SET(Boost_USE_STATIC_LIBS OFF CACHE INTERNAL "") >> ENDIF(NOT Boost_USE_STATIC_LIBS) </pre> <div> <pre>>Do you have any experience that shows other settings still result in >correctly working OpenSG libraries? That would go a long way towards >putting my worries at ease. Thanks! </pre> <div> </div> <div> <div>The point is that OpenSG sets Boost variables. And it does it in a way a user can't do anything about it than edit the file OSGConfigurePackages.cmake. It's ok for me.</div> <div>I'm missing symmetry. The second set (see above) uses the internal cache, the first doesn't do so. So why using different approaches for Boost_USE_MULTITHREADED and Boost_USE_STATIC_LIBS? Why not put both in the internal cache and protect them by a if statement? And then add Boost_USE_STATIC_RUNTIME?</div> <div>The (non-internal) cache is fine for advanced users, as they can check the advanced settings and change them.</div> </div> <div> <div>Well, you're absolutely right, one could shoot himself in the foot with these settings. I see, it's better to obviate trouble. As OpenSG libraries are shared, the dependencies should be shared as well. Else one could break ODR (global state). But one has the perfectly fine default settings for these settings.</div> I don't advise to mix shared and static libraries. One should absolutely know the linker or be prepared for UB.</div> </div> </div></div></body></html> |