(0023420)
|
Philip Lowman
|
2010-11-18 23:01
|
|
Jens,
This bug is related to a rather bizarre behavior of find_library() and other functions like find_path() where instead of every possible library name being searched in every possible library path, the reverse happens.
E.g.
find_library(FOO NAMES foo foo2 PATHS /first /second) will search:
/first/libfoo.so
/second/libfoo.so
/first/libfoo2.so
/second/libfoo2.so
Because there are so many possible Boost library name permutations and paths, what ends up happening sometime is that FindBoost picks up the wrong thing.
Until this issue is fixed, the only solution I have at present (introduced in CMake 2.8.3) is setting the variable Boost_NO_SYSTEM_PATHS This effectively prevents finding Boost libraries outside of the discovered Boost include directory (unless the user has set BOOST_ROOT or BOOST_LIBRARYDIR, or one of the CMake variables like CMAKE_PREFIX_PATH, then those paths are also considered).
P.S.
I don't think searching the libraries for version information would be technically practical to do because of speed (even if each library had a symbol with the version number of Boost, which is doubtful). |
|