[Insight-developers] Re: [cable] cable and cmake in current cvs
Brad King
brad.king@kitware.com
Fri, 19 Apr 2002 13:15:13 -0400 (EDT)
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