On Sat, Jun 20, 2009 at 11:06 PM, Lucas Thode <ljthode@gmail.com> wrote:
This is on Windows XP:

I installed Boost 1.38.0 from the BoostConsulting binary installer (it lives in C:\Program Files\Boost\boost_1_38).  I also installed CMake 4.6-patch4 from its installer. When I run CMake on a CMakeLists.txt containing:

set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)

find_package(Boost 1.36.0 REQUIRED COMPONENTS program_options)

CMake complains that it can't find the Boost library files.

I turned Boost_DEBUG on and it turns out _boost_STATIC_TAG is set to "-s", which is wrong for my Boost installation (the static libraries are named libboost_<component name>-<compiler suffix>-<thread suffix>-<abi suffix>-1_38.lib in my installation).  Is this a bug in FindBoost.cmake, or am I doing something wrong?

Might be a bug.  On line 641 of FindBoost.cmake, where the _boost_LIBRARIES_SEARCH_DIRS variable is initialized, could you try adding this line and see if that helps?

"$ENV{ProgramFiles}/boost/boost_${Boost_MAJOR_VERSION}_${Boost_MINOR_VERSION}/lib"

If this does fix the problem and you'd like a workaround for the problem until a fix can be released (or if this doesn't help at all) you can likely use BOOST_ROOT or BOOST_LIBRARYDIR as a CMake variable or environment variable.

Also, for whatever reason, FindBoost does not use the include path detected for the headers as a hint for finding the libraries.  Not sure why this is but it probably should be fixed.

--
Philip Lowman