[CMake] for loop won't locate libs

eial at cs.bgu.ac.il eial at cs.bgu.ac.il
Thu Jun 4 13:22:32 EDT 2009


On Thu 04 Jun 20:16 2009 Tyler Roscoe wrote:
> On Thu, Jun 04, 2009 at 07:50:08PM +0300, eial at cs.bgu.ac.il wrote:
> > SET(LIBS AR ARMulti ARvideo)
> > FOREACH (LIB ${LIBS})
> >    SET(FOUND_LIB)
> >    FIND_LIBRARY(LIB_FOUND ${LIB} /usr/lib /usr/local/lib) 
> >    SET(ARTK_LIBRARY ${ARTK_LIBRARY} ${LIB_FOUND})
> > ENDFOREACH(LIB)
> > 
> > the result is /usr/lib64/libAR.a/usr/lib64/libAR.a/usr/lib64/libAR.a when it should be /usr/lib64/libAR.a /usr/lib64/libARMulti.a /usr/lib64/libARvideo.a
> 
> What's up with set(FOUND_LIB)?
> 
> You might be running into a quoting/list expansion problem. Try:
> SET(ARTK_LIBRARY "${ARTK_LIBRARY}" "${LIB_FOUND}")
> 
> or use list(APPEND ...) instead.
> 
> tyler
> 

apparently, FOUND_LIB isn't being cleaned in each loop, that is for cleaning.
my problem is that the loop finds only the first lib's file but not the rest, look at the output result that I've posted.




More information about the CMake mailing list