[CMake] make a project also a subproject

Petr Kmoch petr.kmoch at gmail.com
Fri Jun 22 12:24:18 EDT 2012


Hi Leif.

I'm not on a machine with cmake now so I can't test, but I guess the
variable PROJECT_NAME is empty if no project() has been called yet.

Petr

On Fri, Jun 22, 2012 at 6:10 PM, Leif Walsh <leif.walsh at gmail.com> wrote:
> Suppose I have two projects, A and B.  A builds a shared lib that links with a static lib in B.
>
> Sometimes, I want to build and test B by itself.  Other times I want to build A, which requires building B.
>
> For now, I manually (or with a script) build B, then set an environment variable to say where the built static lib is, and then build A (which uses the environment variable).  This is...not superb.
>
> If I wrote A's CMakeLists.txt to have add_subdirectory(B), it would error when it hit B's project(B).  It probably would work (with some tweaking) if I removed project(B), but then I couldn't build B by itself.
>
> Is there a "right way" to do this?  Is there a good, reliable way to detect that project(A) has already been called, and then (if that's the case) skip project(B)?  Will that work?
>
> --
> Cheers,
> Leif
>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list