[Cmake] Link Lib Bug?

John Biddiscombe jbiddiscombe at skippingmouse.co.uk
Thu Jun 7 06:37:23 EDT 2001


>That is not happening here.  The only thing that happens is that the 
>wrapTclExe is
>in the depends of all the targets.   It used to be like that but was fixed.

I just a cvs update and rebuild. The MSProject generator links tcl and tk 
to the incorrect targets. As does my Borland generator. The unix one seems 
to have lost the tcl/tk bits but probably because I'm running it on windows 
and it won't find stuff properly as I've kludged the scripts.

vtkRendering.dsp
# ADD 
LINK32   /LIBPATH:"c:\bin/$(IntDir)"  /LIBPATH:"c:\bin/" 
/LIBPATH:"d:/vtk_bin/Rendering/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Rendering" 
/LIBPATH:"d:/vtk_bin/Hybrid/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Hybrid" 
/LIBPATH:"d:/vtk_bin/Common/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Common" 
/LIBPATH:"d:/vtk_bin/Filtering/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Filtering" 
/LIBPATH:"d:/vtk_bin/Imaging/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Imaging" 
/LIBPATH:"d:/vtk_bin/Graphics/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/Graphics" 
/LIBPATH:"d:/vtk_bin/IO/$(OUTDIR)"  /LIBPATH:"d:/vtk_bin/IO" 
"C:/PROGRA~1/Tcl/bin/tcl83.lib"
************************
"opengl32.lib" "C:/Program Files/Tcl/lib/tk82.lib" "vtkCommon.lib" 
"vtkFiltering.lib"
************************
"vtkImaging.lib" "vtkGraphics.lib" /STACK:10000000  kernel32.lib user32.lib 
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib 
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /stack:0x989680 /dll 
/machine:I386


I'm creating a library list for each target using this code...
   //
   // Create the link lib list for each target
   //
   for (cmTargets::const_iterator t=tgts.begin(); t!=tgts.end(); t++) {
     cmTarget::LinkLibraries& libs = t->second.GetLinkLibraries();
     fout << t->first << "_LINK_LIB = ";
     for (cmTarget::LinkLibraries::const_iterator l=libs.begin(); 
l!=libs.end(); l++) {
       if ((t->first!=l->first) && t->second.GetType()!=cmTarget::INSTALL) {
         fout << " \\\n  " << l->first << ".lib";
       }
     }
     fout << "\n\n";
   }

can you see any problem with this ?





>At 09:29 PM 6/6/2001 +0100, John Biddiscombe wrote:
>
> >>The TARGET_LINK_LIBRARIES command can be used to add libraries to
> >>only one target.
> >
> >Ummm.. Does that imply that there is something amiss with the tcl 
> wrapping. The tcl/tk libraries are linked to all targets and shouldn't 
> be. Should I try to find where this happens and change it?
> >
> >JB
> >
> >
> >
> >
> >
> >>At 08:26 AM 6/2/2001 +0100, John Biddiscombe wrote:
> >>>The Library commands in cmake appear to be a bit unselective. I'm 
> dumping out the lib linked to by each target...
> >>>
> >>>example
> >>>
> >>>Mace_LINK_LIB =  \
> >>>  C:/PROGRA~1/Tcl/bin/tcl83.lib \
> >>>  opengl32 \
> >>>  C:/Program Files/Tcl/lib/tk82.lib \
> >>>  vtkCommon \
> >>>  vtkFiltering \
> >>>  vtkImaging \
> >>>  vtkGraphics \
> >>>  vtkRendering
> >>>
> >>>vtkRendering_LINK_DIR =  \
> >>>  C:/PROGRA~1/Tcl/bin/tcl83.lib \
> >>>  opengl32 \
> >>>  C:/Program Files/Tcl/lib/tk82.lib \
> >>>  vtkCommon \
> >>>  vtkFiltering \
> >>>  vtkImaging \
> >>>  vtkGraphics
> >>>
> >>>Mace and Rendering are linking to tcl and tk when these are selected. 
> This is wrong. How do I stop this? (Only the Rendering_TCL should be 
> doing this).
> >>>
> >>>[Should the ADD_LIBRARY(stuff) command have the target(s) specified?]
> >>>
> >>>[NB. I may be doing something wrong, in which case please correct me!]
> >>>
> >>>thanks
> >>>
> >>>JB
> >>>
> >>>_______________________________________________
> >>>Cmake mailing list
> >>>Cmake at public.kitware.com
> >>>http://public.kitware.com/mailman/listinfo/cmake
> >>
> >>
> >>_______________________________________________
> >>Cmake mailing list
> >>Cmake at public.kitware.com
> >>http://public.kitware.com/mailman/listinfo/cmake





More information about the CMake mailing list