[CMake] FindBoost: find both win32 and x64 static libs

Rolf Eike Beer eike at sf-mail.de
Sat Dec 4 11:30:12 EST 2010


Am Samstag, 4. Dezember 2010 schrieb Philip Lowman:
> On Tue, Nov 30, 2010 at 5:37 PM, Hicham Mouline <hicham at mouline.org> wrote:
> >  As boost libraries naming convention doesn't include in the lib names
> > 
> > whether they are built by msvc9 win32 or x64, I am forced on a winxp 64
> > box where I hold both versions to have a different lib directory under
> > boost_root.
> > 
> > I set BOOST_ROOT then call FIND_PACKAGE(Boost 1.44 COMPONENTS ...).
> > 
> > Am I supposed to detect which of vc9 32bit or 64bit am  I generating for
> > and then set BOOST_LIBRARYDIR depending on that before calling
> > FIND_PACKAGE?
> > 
> > How do I detect bitness?
> 
> You could try something like this:
> 
> include(CheckTypeSize)
> CHECK_TYPE_SIZE(void* SIZEOF_PTR)
> message("size of pointer = ${SIZEOF_PTR}")
> 
> Then if SIZEOF_PTR is 4, you would set BOOST_LIBRARYDIR to be
> ${BOOST_ROOT}/lib32 and if it is 8, you set it to ${BOOST_ROOT}/lib64.

Or you can simply use ${CMAKE_SIZEOF_VOID_P}.

Eike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101204/63fe1ed3/attachment.pgp>


More information about the CMake mailing list