I meant to say 'the approach you use doesn't work, because imported libraries are targets to are targets to which you CANNOT add dependencies."
On Tue, Jun 26, 2012 at 9:33 AM, Kent Williams <nkwmailingli...@gmail.com> wrote: > That seems like it should work, but it actually does not. > > There's two types of precedence in CMake. > > 1. Textual -- as CMake munches through a project and its subdirectory, > it generates a build system where the build order is the same as the > textual order. In a single process build, for example: > > project(x) > add_library(xlib ...) > add_executable(xexec ...) > > 'xlib' will get built before 'xexec' > > 2. The dependency graph. Targets which do not depend on any other > target get built first, then targets that depend on the 'leaf' > targets. In the example above, adding > > target_link_libraries(xexec xlib) > > will make 'xexec' depend on 'xlib', and even if you build using more > than one process (i.e. make -j 8), xexec will be built after xlib. > > I've verified that the approach you use below doesn't work, because > imported libraries are targets to which you can add dependencies. I > tried this approach and it didn't work -- in fact that is what my > original e-mail is about. > > David Cole indicated in essence, I was doing it wrong. My position is > that it's the only way to do it without completely revamping the ITK > build system, which is above my pay grade. > > I thought of a sneaky workaround: Create a dummy library, with one > object file that does nothing, and will never actually be loaded. > Make the dummy library depend on the ExternalProject target, and add > it to library list along with the ExternalProject's libraries. > > But that seems kind of ugly, creating a library no program actually needs. > > On Sat, Jun 23, 2012 at 9:06 AM, Stefan Reuschl <li...@stefanreuschl.de> > wrote: >> >> The following once worked fine for me using CMake 2.8.8: >> >> ExternalProject_Add( ep ) >> add_library( epLib IMPORTED ) >> set_target_properties( epLib PROPERTIES IMPORTED_LOCATION ... ) >> add_dependencies( epLib ep ) >> -- 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