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

Philip Lowman philip at yhbt.com
Sat Dec 4 06:02:44 EST 2010


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.

-- 
Philip Lowman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101204/c919d174/attachment.htm>


More information about the CMake mailing list