[CMake] for loop won't locate libs

Tyler Roscoe tyler at cryptio.net
Thu Jun 4 13:16:52 EDT 2009


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


More information about the CMake mailing list