[CMake] Executable and library dependencies

Tyler Roscoe tyler at cryptio.net
Tue May 5 12:21:14 EDT 2009


On Tue, May 05, 2009 at 06:11:05PM +0200, Andreas Pakulat wrote:
> On 05.05.09 08:28:12, Tyler Roscoe wrote:
> > On Tue, May 05, 2009 at 03:05:31PM +0200, Andreas Pakulat wrote:
> > > On 05.05.09 14:29:03, eblotml at free.fr wrote:
> > > > I use a top CMakeLists.txt which looks like:
> > > >   PROJECT (proj)
> > > >   SET (subprojects mylib myapp)
> > > >   FOREACH (prj ${subprojects})
> > > >     ADD_SUBDIRECTORY (${prj} ${prj})
> > > >   ENDFOREACH (prj)
> > 
> > Doing in-source builds is generally considered a bad idea. Instead do
> > something like:
> > 
> >     ADD_SUBDIRECTORY (${prj} ${prj}/build)
> 
> Huh? That snippet above has absolutely nothing to do with in-source vs.
> out-of-source builds. He simply accumulates all his subprojects in a
> variable instead of listing each with its own add_subdirectory call.

I disagree. From the docs:

add_subdirectory: Add a subdirectory to the build.

  add_subdirectory(source_dir [binary_dir] 
                   [EXCLUDE_FROM_ALL])


The second argument is the binary_dir, which he is setting to be the
same as his source_dir. Hence, an in-source build of mylib and myapp.

tyler


More information about the CMake mailing list