[CMake] cmake 2.6.4 won't find boost 1.40 on windows

Ingolf Steinbach ingolf.steinbach at googlemail.com
Mon Sep 21 05:51:10 EDT 2009


2009/9/21 Philip Lowman <philip at yhbt.com>:
> Thankfully, the changes made to library naming in 1.40 do not break
> FindBoost. :)

Philip, does this apply to the latest release (i.e. cmake 2.6.4)? Or
rather the latest revision in CVS? (See also below)

> Could you post what you have in mind for the paths?
>
> Also, bear in mind that Boost already encodes versions into the include
> directory and libraries.  It isn't necessary to segment a boost install
> prefix by version number at all.

Ok, so now I have installed Boost 1.40.0 with the following command:

...\boost_1_40_0>.\bjam --prefix=C:\Programme\boost
--build-type=complete install

(i.e. without version number in the prefix). Without any additional
help (for instance setting BOOST_ROOT) except
set(Boost_ADDITIONAL_VERSIONS "1.40" "1.40.0"), FindBoost emits:

Boost not in cache
_boost_TEST_VERSIONS =
1.40;1.40.0;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33
Boost_USE_MULTITHREADED = TRUE
Boost_USE_STATIC_LIBS =
Declared as CMake or Environmental Variables:
  BOOST_ROOT =
  BOOST_INCLUDEDIR =
  BOOST_LIBRARYDIR =
_boost_TEST_VERSIONS =
1.40;1.40.0;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33
Include debugging info:
  _boost_INCLUDE_SEARCH_DIRS =
C:/boost/include;C:/boost;C:\Programme/boost;/sw/local/include
  _boost_PATH_SUFFIXES =
boost-1_40;boost_1_40;boost-1_40_0;boost_1_40_0;boost-1_38_0;boost_1_38_0;boost-1_38;boost_1_38;boost-1_37_0;boost_1_37_0;boost-1_37;boost_1_37;boost-1_36_1;boost_1_36_1;boost-1_36_0;boost_1_36_0;boost-1_36;boost_1_36;boost-1_35_1;boost_1_35_1;boost-1_35_0;boost_1_35_0;boost-1_35;boost_1_35;boost-1_34_1;boost_1_34_1;boost-1_34_0;boost_1_34_0;boost-1_34;boost_1_34;boost-1_33_1;boost_1_33_1;boost-1_33_0;boost_1_33_0;boost-1_33;boost_1_33
guessed _boost_COMPILER = -vc90
_boost_MULTITHREADED = -mt
_boost_STATIC_TAG =
_boost_ABI_TAG = gd
_boost_LIBRARIES_SEARCH_DIRS =
C:/boost/lib;C:/boost;C:\Programme/boost/boost___/lib;C:\Programme/boost;/sw/local/lib
[...]

Note that something similar to the actual BOOST_ROOT is in
_boost_INCLUDE_SEARCH_DIRS. Maybe the backslash in C:\Programme/boost
is wrong?

> Ultimately we can add anything to the search path of FindBoost that makes
> sense.  If you have suggestions, please feel free to submit them (preferably
> with a tested patch) to the bugtracker.

I'd propose to make FindBoost recursively searching the
_boost_INCLUDE_SEARCH_DIRS for the requested version. But maybe
FindBoost already does that and my problems just result from that
strange backslash...

Kind regards
Ingolf


More information about the CMake mailing list