[Cmake] Link Lib Bug?
John Biddiscombe
jbiddiscombe at skippingmouse . co . uk
Thu, 07 Jun 2001 11:37:23 +0100
>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