[Cmake] RE: [vtk-developers] vtk, cygwin and cmake

Lorensen, William E (Research) lorensen at crd.ge.com
Mon Jan 13 13:20:37 EST 2003


I guess the advantage of what I did is that it will work with any tcl. But, I think it's probably
better not to have to change cmake.

Bill

-----Original Message-----
From: Bill Hoffman [mailto:bill.hoffman at kitware.com]
Sent: Monday, January 13, 2003 12:29 PM
To: Bill Lorensen; vtk-developers at public.kitware.com;
cmake at public.kitware.com
Subject: Re: [vtk-developers] vtk, cygwin and cmake


I am not sure this is the best approach.
I know that STATIC does not have to be a path, so
we can not add that change.   The real problem is
not with cmake, but with cygtcl80.   It is a very
old version of tcl, and it is not really cyg* anything,
it is built with windows paths, so it does not work like
any of the other cygwin built executables.  

I looked around on the web and found a patched tcltk834 here:

ftp://ftp.nanotech.wisc.edu/pub/khan/tcl/tcltk-8.3.4-cygwin/README
ftp://ftp.nanotech.wisc.edu/pub/khan/tcl/tcltk-8.3.4-cygwin/

I have not yet built VTK with this tcl/tk, but Dart works fine and
there are no cygdrive path issues.     I am going to try and build a binary
that I will put on the kitware download site.   So, if you want to 
build VTK with tcl/tk on cygwin, you will have to install this tcl, same
goes for Dart.   This should fix all three issues without changing cmake.

The patched tcl/tk builds out of the box if you follow the instructions.
I will let you know when I have a binary ready for download.


-Bill


At 11:28 AM 1/12/2003 -0500, Bill Lorensen wrote:
>Folks,
>  Cygwin builds of vtk have not worked well in three areas:
>
>1) The package require vtk mechanism has been broken since the pgkIndex.tcl mechanism changed
recently.
>2) ctest (and Dart testing) fails on tcl test scripts. This has always been true.
>3) Dart cannot base64 encode regression error images since the cygtclsh80 distributed with cygwin
does not have that facility.
>
>All of these defects are related to cygwin's /cygdrive mechanism. Also, the cygtclsh's distributed
with cygwin cannot cope with the /cygdrive mechanism.
>
>I noticed that cygwin programs also accept c:/foo/bar pathnames also. So, I looked into modifying
cmake to always produce the later style.
>
>I have been able to correct these problems with changes to three cmake files. These changes cause
cmake to always create c:/ style paths rather than /cygdrive paths.
>
>cmake.cxx - Changed the CMAKE_COMMAND from INTERNAL to STATIC. CMAKE_COMMAND is used to build
several path names during the cmake setup process. I'm not sure if there are side effects to this
change. If there are side effects, I could make this change only for cygwin builds.
>
>cmSystemTools.cxx - for cygwin builds, modify the ConvertToUnixSlashes to first convert the path to
win32 style and then proceed as usual in the conversion process.
>
>cmCacheManager.cxx - for cygwin builds, apply ConvertToUnixSlashes to STATIC variables (which all
seem to be paths)
>
>I've tried these changes on -rLatestRelease as well as the beta.
>
>Now:
>1) "package require vtk" works
>2) ctest can run the tcl tests
>3) the Dart DashboardManager can be run with tclsh's that live outside of cygwin. These other
tclsh's can base64 encode the regression images.
>
>Now to my questions. Do these changes seem like the correct way to solve the problem? If so, should
I check them in? And into which revisions? I think we could live without this in cmake 1.4.7 since
vtk tcl testing has not ever really worked.
>
>Bill
>
>BTW: Today's vtk Dartboard shows two experimental builds that include the results of the tcl tests.
Also, I have to build without the Parallel kit since the tests seem to hang. Other than Parallel, the
tests in all kits seem to run fine.
>
> 



_______________________________________________
vtk-developers mailing list
vtk-developers at public.kitware.com
http://public.kitware.com/mailman/listinfo/vtk-developers



More information about the CMake mailing list