Tristan Carel wrote: > Hi Swig lovers, > > Axel had the great idea to use the -swiglib option in order to improve > the module's efficiency to properly fill the prerequesites variables. > I guess it is the perfect example of using a tool to perform its > `configure' part. > > On the other hand, it's hard to maintain dependencies of the wrapper > generated by swig because the developper has to manually update the > CMakeLists.txt each time a change relative to the file inclusions in > the main swig file is performed. But Swig provides a couple of > options: -M, -MM, -MF, ... > which have the same behavior than gcc's: compute the dependencies for > us, lazy developpers! > > So I submitted a new macro in the `UseSWIG.cmake' few days ago: > http://www.cmake.org/Bug/bug.php?op=show&bugid=4147&pos=7 > > # SWIG_GET_WRAPPER_DEPENDENCIES(swigFile genWrapper language > DEST_VARIABLE) # - Put dependencies of the wrapper genWrapper generated > by swig from # swigFile in DEST_VARIABLE > > A full description (including behavior, use cases) is available on the > bug tracker. > > So as Axel wrote: > "Any comments or volunteers to try?"
Hi Tristan, do I get the idea right that you want that the wrapper will be recreated whenever any of its dependencies changed? That would be really nice! So I tried the usecase 1 (because usecase 2 is too involved for me ;-) like SWIG_ADD_MODULE(eaSDIF perl ${INTERFACE_SRC} ) SWIG_LINK_LIBRARIES(eaSDIF ${PERL_LIBRARIES} Easdif) however it seems I don't get any dependencies besides the main interface file ${INTERFACE_SRC}. I do get them if I add DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS} to the ADD_CUSTOM_COMMANDS in SWIG_ADD_SOURCE_TO_MODULE. The added dependencies are pretty cool then. So I suppose you just forgot to actually use them? If you add the DEPENDS line you probably need to check for the case that ${SWIG_MODULE_${name}_EXTRA_DEPS} is empty. Otherwise DEPENDS will probably complain if the argument is an empty list. I have this error all the time for COMPILE_FLAGS, but I am not sure whether DEPENDS behaves similarly. Cheers, -- Axel Roebel IRCAM Analysis/Synthesis Team Phone: ++33-1-4478 4845 | Fax: ++33-1-4478 1540 _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake