On 13. Jan, 2010, at 1:55 , Nico Schlömer wrote: > Pheeew.. > So I've now been trying to include one *single* library from an > external project (liba.a) into my own project, writing FindA.cmake. > Somehow I still fail to apply the dependencies correctly. What I do is > > [...] > ADD_LIBRARY(A STATIC IMPORTED) > SET_TARGET_PROPERTIES( A PROPERTIES > IMPORTED_LOCATION > "${A_LIBRARY}" %set above > LINK_INTERFACE_LIBRARIES > "${A_LINK_INTERFACE_LIBRARIES}" % set above to something like > "/usr/lib/liblapack.a;/usr/lib/blas.a;" > ) > [...] > > [Setting TARGET_LINK_LIBRARIES(A LINK_INTERFACE_LIBRARIES > "${A_LINK_INTERFACE_LIBRARIES}" ) did *not* work for me.] > > Now, in the main CMakeLists.txt I say Find( A REQUIRED ), and I was > naivly expecting that upon > > TARGET_LINK_LIBRARIES ( main.out A ) > > *all* the dependent libraries would be pulled in too. This is not the case. :/ > > What am I missing? > > Cheers, > Nico
Coming to think of it: Why don't you simply list ${A_LIBRARY}, /usr/lib/liblapack.a and /usr/lib/blas.a (shouldn't that be libblas.a?) in A_LIBRARIES and the use that in TARGET_LINK_LIBRARIES? Simpler for you and less work for CMake... Michael PS: I can't tell for sure from what you show, but you REALLY should discover lapack and blas instead of hardcoding their paths, e.g. using FindBLAS and FindLAPACK (which admittedly have their deficiencies) _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake