On Wed, Jun 24, 2009 at 03:30:33PM -0700, Hai Nguyen wrote: > add_library( libB ... ) > add_executable( ExecB ... ) > target_link_libraries( ExecB libB ) > > but the build order now is: ExecB, libB > > I'm getting link errors because libB doesn't exist yet. If I comment out the > ExecB stuff, it builds libB. > > Can someone give me a clue on what criteria CMake is using to determine what > builds first?
I think the order is undefined unless there are dependencies to resolve. I'm a litle surprised that your B example doesn't work, since I thought CMake was smart enough to notice that execB needs libB and would thus build libB first. Anyway, the way to get the correct build order is by using add_dependencies(). If you do add_dependencies(execB libB) then everything should work as expected. tyler _______________________________________________ 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
