[CMake] FIND_LIBRARY in FindBoost finds wrong library

Marcel Loose loose at astron.nl
Fri Mar 19 07:12:02 EDT 2010


Hi Michael,

That still doesn't answer my question about turning that loop inside
out. 

A quick grep in the CMake Modules directory showed me that there are at
least a dozen other FindXXX scripts that use multiple NAMES with a
FIND_XXX() commands. I haven't checked how they handle default (system)
paths, but I guess these might be erratic as well, when multiple
versions of a package exists with libraries named slightly different.

Best regards,
Marcel Loose.

On Fri, 2010-03-19 at 06:50 -0400, Philip Lowman wrote:
> Someone could add an option to FindBoost that will simply exclude the
> system paths from the search.  This has never been implied by setting
> BOOST_ROOT.  As long as the unversioned library names are being
> searched for with find_library they are likely going to be found.
> Currently the onus is on the user to double check what FindBoost
> discovers.
> 
> > On Mar 19, 2010 4:56 AM, "Marcel Loose" <loose at astron.nl> wrote:
> > 
> > Well, in my case, the library name was not even that specific.
> > It found /usr/lib/libboost_date_time-mt.so
> > before /home/loose/boost/boost-1.40.0/lib/libboost_date_time.so,
> > simply
> > because libboost_date_time-mt.so is searched for in *all* paths
> > before
> > libboost_date_time.so.
> > 
> > Anyway, I still think this is (also) a CMake issue. IMHO it would
> > make
> > sense to turn the loop in cmFindLibraryCommand::FindNormalLibrary()
> > inside out. What's your opinion?
> > 
> > Best regards,
> > Marcel Loose.
> > 
> > 
> > On Thu, 2010-03-18 at 10:05 -0400, Michael Jackson wrote: > I
> > thought there was now an option the b...
> > 
> 




More information about the CMake mailing list