[Insight-developers] Re: [cable] cable and cmake in current cvs

Steve Pieper pieper@alum.mit.edu
Fri, 19 Apr 2002 15:17:32 -0400


Hi Brad -

Thanks a lot for the update.  As there weren't work enough in the world 
without needing to keep up with microsoft's "innovations"!

Thanks again too for your help last month with my question about passing 
references to methods.  I was happy with the results of my tests and I 
think cable is a very promising tool.  I didn't find the configuration 
files particularly difficult to read or write -- certainly there was a 
big payoff for the effort invested learning the syntax.

The combinatorial explosion of template instantiations does seem like a 
pretty fundamental issue.  It would be a shame if it limits ITK to c++ 
only...the multi-language support has been an attractive (and useful) 
feature of VTK.

Best of luck,
Steve

Brad King wrote:
> Hi Steve,
> 
> 
>>I'm trying to build the latest itk from cvs and want to try out the
>>cable wrapped access (using the latest cmake and cable from cvs).  I
>>had this basically working using the code from about 1 month ago, but
>>thought I'd start fresh on a new machine and use Visual Studio 7.
> 
> 
> Unfortunately, the wrapping won't work at all for Visual Studio 7 until
> more work is done.  Cable uses GCC-XML to parse the source files.  
> GCC-XML works by simuluating the preprocessor and parsing phases of the
> compiler that you are using.  This means that GCC-XML's installation must
> copy and patch the VisualStudio header files to remove invalid C++ code
> (written for MSVC extensions).  The patches have not yet been written for
> VS7's headers, and will only work with VS6.
> 
> 
>>I realize things are under development, so there may be no final
>>answer to this, but I'll ask anyway: when I run CMakeSetup.exe for itk
>>with tcl wrapping enabled, I get the dialog box saying that
>>CABLE_CLASS_SET isn't supported.  I tracked that down in the cmake
>>code and then saw the following cvs entry:
>>
>>revision 1.125
>>date: 2002/04/17 18:54:48;  author: king;  state: Exp;  lines: +9 -2
>>ENH: Removed out-of-date commands CABLE_WRAP_TCL CABLE_CLASS_SET and 
>>CONFIGURE_GCCXML
> 
> 
> I just removed those command a couple days ago so that it would be clear
> to anyone that tried to turn on ITK_WRAP_TCL that wrapping is not
> currently supported for the toolkit.  We are planning to re-organize the
> way wrappers are specified from CMake, so these commands may now be
> obsolete.  The reason is that Cable's configuration file format is much
> more human readable/writable now.
> 
> 
>>But I didn't see any mention in the mailing lists of plans for replacing 
>>this functionality.
>>
>>Is cable temporarily disabled while being reworked?
> 
> While CABLE can wrap any C++ class, ITK's classes are not designed to be
> wrapped cleanly.  The problem is that many template instantiations are
> needed even for the most basic ITK functionality.  All of these
> instantiations must be listed and wrapped.  Until we have fixed these
> problems to allow maximum functionality with minimum instantiations, ITK's
> wrapping features will not be supported at all.
> 
> Thanks for your interest in this feature of ITK.  Unfortunately, it is not
> nearly ready yet.
> 
> -Brad
> 
> _______________________________________________
> cable mailing list
> cable@public.kitware.com
> http://public.kitware.com/mailman/listinfo/cable