Hi Bill: Thanks, it's exactly what you mentioned, and I got some mistake on my CMakeList.txt.
Originally I have some syntax like: SET(LIB_DIRS ${LIB_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/../../../lib) SET(LIBS ${LIBS} "libMyLibA.a") TARGET_LINK_LIBRARIES(${PROGNAME} ${LIBS}) And I suddenly found out the usage was wrong and just too stupid .. although it works on my first make. However it would't relink when ../../../lib/libMyLibA.a got updated. After I changed to: SET(LIB_DIRS ${LIB_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/../../../lib) SET(LIBS ${LIBS} "MyLibA") TARGET_LINK_LIBRARIES(${PROGNAME} ${LIBS}) // or SET(LIBS ${LIBS} "../../../lib/libMyLibA.a") TARGET_LINK_LIBRARIES(${PROGNAME} ${LIBS}) Both works when libMyLibA got updated. Now it works fine. And thank you. On Thu, Jun 11, 2009 at 9:44 PM, Bill Hoffman <bill.hoff...@kitware.com>wrote: > Chih-pin Wu wrote: > >> Hi all: >> >> I'm working on an embedded platform and building integrated software as >> multimedia CE devices. And I am just started trying to introduce CMake to >> replace my legacy environment constructed by many hand-written gnu styled >> makefiles. >> >> I have many components which is cross referred to each other very >> complicatedly, and it really helps a lot when I started to migrate to CMake >> with the benefit of automatic dependency checking. >> >> However, my order of building is >> i) build lots of libraries, called components >> ii) then build final executable, called application, linking with >> libraries >> >> I really felt comfort when I modified some header files in the component >> directory, and makefiles generated by CMake automatically found it, rebuild >> all dependent source files as well as the libraries. >> However I could not make my final executable link those libraries >> automatically when libraries got changed. >> >> I used TARGET_LINK_LIBRARIES to enumerate linking libraries, also >> ADD_DEPENDENCIES with these libraries. >> But I still can't make it relink to a executable when those libraries got >> changed, no matter it's rebuilt by makefile or replaced by some newer >> revision. >> >> > Can you post some of your cmake code? This should work. I suspect that > you are not using full paths to libraries in target_link_libraries. > add_dependencies should not be needed. > > -Bill > -- Wu Chih-pin(吳智斌)
_______________________________________________ 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