[CMake] How to relink executables when depdent library got changed ?
Bill Hoffman
bill.hoffman at kitware.com
Thu Jun 11 09:44:12 EDT 2009
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
More information about the CMake
mailing list