[CMake] Question about managing large projects with CMake

Brandon Van Every bvanevery at gmail.com
Mon Aug 13 09:52:59 EDT 2007


On 8/13/07, Theodore Omtzigt <theo at stillwater-sc.com> wrote:
> Brandon:
>
>   I don't understand your first answer. Could you elaborate and give an
> example, how one could build two separate projects in the same tree that
> need to share a top level cmakelists.txt file because they reach across the
> dev tree sideways?

You'd just do it.  Anything that has to be SET that's common to both
projects, you'd SET in the top level CMakeLists.txt.

> I read the documentation for the SOURCE_GROUP variable and as far as I can
> see that variable pertains to file groups inside a project.

Hm you're right.

> How would one use it to remove the test suites from a solution?

You wouldn't.

Do you possibly have a lot of test executables declared to be PROJECT
that shouldn't be?  Like, they could just be ADD_EXECUTABLE inside of
one overarching test PROJECT?  That would give you better data hiding
when looking at the IDE, you wouldn't have tons of gratuitous
solutions for everything.

You realize your tests don't have to be part of the ALL target, right?
 I thought that's not your issue though.  I thought you were looking
to reduce visual clutter in the IDE.

> We are using patch 6 on windows and patch 7 on linux. It just so happened
> that I got caught in between the update. Once we get this to production,
> we'll standardize on something.

Unless you've already written tons of code, you should standardize on
2.4.7 immediately.  In CMake, higher version numbers generally mean
fewer bugs.  Every once in awhile there's some weird corner case going
forwards that causes undesireable behavior, but those are rare.


Cheers,
Brandon Van Every


More information about the CMake mailing list