[CMake] Visual Studio 7.1 and ADD_DEPENDENCIES

Brandon Van Every bvanevery at gmail.com
Wed Nov 14 14:14:05 EST 2007


On Nov 14, 2007 12:38 PM, Salvatore Iovene
<salvatore.iovene+cmake at googlemail.com> wrote:
>
> On Nov 14, 2007 5:44 PM, Brandon Van Every <bvanevery at gmail.com> wrote:
> > On Nov 14, 2007 7:12 AM, Salvatore Iovene
> > <salvatore.iovene+cmake at googlemail.com> wrote:
> > > Hi,
> > > when I use CMake 2.4.7 to generate NMake Makefiles everything builds
> > > fine, but if I generate Visual Studio 7.1 project files, and then open
> > > the Visual Studio Solution, I notice that some things get linked just
> > > for appearing as a dependency.
> > >
> > > ADD_DEPENDENCIES(my_lib my_otherlib), where both libs are STATIC,
> > > will cause my_otherlib to be linked to my_lib even tho I didn't
> > > explicitly request so using the TARGET_LINK_LIBRARY command. Is this a
> > > bug or am I missing something?
> >
> > Perhaps a bug... but why are you specifying a dependency, if my_lib
> > doesn't utilize my_otherlib?
>
> It _does_ use it. But if do both ADD_DEPENDENCIES and
> TARGET_LINK_LIBRARY I'll end up with many many warnings about symbols
> already defined, and ignoring because linking twice, which is
> annoying. So, perhaps a bug?

TARGET_LINK_LIBRARIES implies a dependency.  You don't need to specify
a 2nd one.  I'd say the problem is the documentation of
TARGET_LINK_LIBRARIES is too terse.  It needs to mention implied
dependencies for libraries you build.  It also needs to mention the
dependency behavior for -lsomelib flags; maybe there are none in that
case? I suggest you file a "Severity = text" bug entitled
"TARGET_LINK_LIBRARIES doesn't document implicit dependency" and
whatever blah blah blah.  Generally when filing "text" bugs, it's best
to also write up what you think the docs should say.


Cheers,
Brandon Van Every


More information about the CMake mailing list