From: philiplow...@gmail.com [mailto:philiplow...@gmail.com] On Behalf Of Philip Lowman Sent: 07 December 2010 13:17 To: Hicham Mouline Cc: Philip Lowman; Dmytro Ovdiienko; CMake mailing list; boost-bu...@lists.boost.org Subject: Re: [CMake] FindBoost: find both win32 and x64 static libs
On Sunday, December 5, 2010, Hicham Mouline <hic...@mouline.org> wrote: > I've built both win32 and x64 versions of boost thread library with the > following 2 lines: > > 1. 32bit cl.exe from msvc9 directory in the %PATH% > bjam --with-thread --layout=versioned toolset=msvc address-model=64 > variant=release link=static threading=multi runtime-link=shared > > 2. 64bit cl.exe from msvc9 directory in the %PATH% > bjam --with-thread --layout=versioned toolset=msvc address-model=64 > variant=release link=static threading=multi runtime-link=shared > > however, the resulting .lib files have identical names however: > libboost_thread-vc90-mt-1_44.lib > libboost_thread-vc90-mt.lib > > Dmytro, there is no distinction between 32bit and 64bit. The 64bit lib size > is approximately double the 32bit lib. > > boost-build, how to change this to include the bitness in the boost lib > name? > If it's impossible, Philip, perhaps FindBoost could be changed to allow for > different directories under BOOST_ROOT for the lib directories, something > like lib\win32 and lib\x64 or whatever names can be agreed on. If the user is compiling 32-bit code I could make FindBoost search "lib32" before "lib" and for 64-bit code I can make it search "lib64" before "lib". If the user had an empty lib64 directory for some reason, it would still find the boost libraries in "lib". Would this work for you? The BOOST_LIBRARYDIR variable is the only other workaround I can think to this issue. ---------------------------------------- Well I'd like to have other FindBoost users opinions. In terms of niceness (I believe there is no equivalent to Linux Standard Base which says where files should be on windows), I am flipping between: 1. c:\Program Files\boost\lib for 64bit libs and c:\Program Files (x86)\boost\lib for 32bit libs. I don't know where to put the headers then, maybe duplicate them in both directories. Then BOOST_ROOT is kind of irrelevant here. 2. C:\boost and then have lib32 lib64 under those, then BOOST_ROOT is c:\boost and your proposed change would be nice, though this somehow seems a little less "standard" to me. Shall we hear what other boosters say? Thanks, _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake