[vtk-developers] New VTK directory structure and build process (bug fix).

Sebastien BARRE seb-ml-vtk at barre.nom.fr
Tue May 8 10:19:04 EDT 2001


Hi Ken

At 08/05/2001 09:25, Ken Martin wrote:

>Feel free to commit the fixes. (for example the LIBRARY_SRCS versus
>Common_SRCS fix)

No pb, I will.

>The Build :
>________
> > Then I remembered how stupid I was and set BUILD_SHARED_LIBS to "On" =>
> > when I started MSVC again, it complained because the default target was
> > still "ALL_BUILD - Win32 Release MinSize" but there was *no* "Win32 Release
> > MinSize" setting anymore for the subtargets :(. Thus, I had to switch to
> > "Release"... and rebuild everything again :(
>
>It seems that MSVC keeps some sort of option file that remembers your last
>target and switching between Static and DLL causes those warnings. You must
>rebuild everything when switching because the object files are different
>between Static and DLL (I believe the subdirectories are actually Debug,
>Release, ReleaseMinSize, DebugDLL, ReleaseDLL

Sure, but do yo know why the "Release MinSize" settings are not available 
for the subtargets when BUILD_SHARED_LIBS is ON ? I checked the workspace 
files, and there are just not there (they were previously, when the flag 
was OFF).

> > Problem : at the end of the build, there was no single directory were the
> > DLLs could be found : each DLL file was stored in a different directory
> > (e.g., $BUILD_DIR/Common/Release, $BUILD_DIR/Filtering/Release,
> > $BUILD_DIR/Graphics/Release). This is a bit problematic as it implies that
> > each directory should be added to the PATH environment variable in order
> > the DLL to be found by the system. Nevertheless, I noticed that there is an
> > empty $BUILD_DIR/Release directory : I guess it would be good if all DLL
> > files were moved to this directory. This step might just be missing from
> > the correct Cmake configuration. I moved the DLLs manually, and added
> > $BUILD_DIR/Release to the PATH.
>
>This is an open issue. I haven't thought about how to do this yet. Maybe
>have a target that copies the DLLs to a common directory.

Yes, that would be cool. I have not found the corresponding Cmake command 
at the moment. That's one of the drawback of Cmake : it's interpreted, but 
as it's a new interpreted set of commands, I guess it does not allow us to 
call system commands like 'copy' or something like that for the moment. 
Autoconf, Perl or Python would have been OK for that.

>Tcl :
>________

I guess Bill Hoffman might give me an answer regarding the FindTcl.cmake 
rule later.

>Python:
>________
>
>I believe this is because the old vtkpython was one DLL and in the new build
>right now it is multiple DLLs, which means that the FooNew functions now
>need a VTK_EXPORT in their signature, which means a small mod to
>vtkWrapPython which I hasn't been done yet.

Yes, it makes sense. I'll wait for that modification then keep you posted.

Thanks





More information about the vtk-developers mailing list