[CMake] FindBoost.cmake trouble with static libs (-gd vs -sgd issue)
Dixon, Shane
Shane.Dixon at atmel.com
Mon Sep 13 09:50:03 EDT 2010
Philip,
You closed the bug already so I can't comment there, but I wanted to let you know that this latest version of FindBoost.cmake did work as expected for me. Thank you so much for your help.
--
Shane
________________________________
From: philiplowman at gmail.com [mailto:philiplowman at gmail.com] On Behalf Of Philip Lowman
Sent: Tuesday, September 07, 2010 10:15 PM
To: Dixon, Shane
Cc: cmake at cmake.org
Subject: Re: [CMake] FindBoost.cmake trouble with static libs (-gd vs -sgd issue)
Shane,
Thanks for opening ticket 11204 for this issue. My response is included there.
http://public.kitware.com/Bug/view.php?id=11204
On Thu, Sep 2, 2010 at 4:08 PM, Dixon, Shane <Shane.Dixon at atmel.com> wrote:
I found that when using the FindBoost.cmake and using the Boost_USE_STATIC_LIBS option, it wouldn't find the static libs in my C:\Boost\libs folder. It kept coming back with files ending in -gd libs instead of -sgd libs even though the option Boost_USE_STATIC_LIBS was set. I found that it had to do with the order that the FIND_LIBRARY looks for the files. I had BOTH the -gd and the -sgd libraries installed so it found the -gd ones first and then ignores the next option. I fixed it by applying the following:
728,729c728,729
< NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
< ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
---
> NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
> ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
I just switched the order to look for the more specific lib before the more general one. If ${_boost_STATIC_TAG} is empty when Boost_USE_STATIC_LIBS is OFF, then maybe this could just be one line:
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
Which seems like it should find either -sgd or -gd files, but sould find -sgd files first if the option was provided. Any thoughts? I defer to anyone with more experience for the best way to do this.
--
Shane
_______________________________________________
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
--
Philip Lowman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100913/1affd422/attachment.htm>
More information about the CMake
mailing list