On 15.06.10 22:18:04, Kishore wrote: > How do i inform cmake when building a module that it depends on another > module? Does cmake need to even know that? > > I am building a plugin based qt application (my first time with plugins) and > my > situlation like with many other applications is that plugin A depends on > plugin B. In my application i take care to load plugin B before A. However, > loading plugin A fails complaining that it could not resolve links which are > in B. plugin B which only depends on the application loads fine. > > Now, everything works fine if i declare that plugin A depends on B using the > TARGET_LINK_LIBRARIES() function. But for this to work, i have to declare > both > A and B as SHARED instead of MODULE libraries. > > What is the right way to go?
Thats not a real plugin system, plugins don't link against other plugins directly. Your options are: - extract the code from B that you need in A into the shared lib (that you should already have) that both A and B (and your application) link against - provide an interface header from B and a way in your app for a plugin to get a pointer to such an interface. Then provide the necessary api functions you need in A in that interface as pure virtual. That way A can use this virtual interface to get at the B functions without directly linking against it. Andreas -- You will be awarded a medal for disregarding safety in saving someone. _______________________________________________ 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