[CMake] Superbuild subprojects and find_package()
Romain LEGUAY
romain.leguay at gmail.com
Thu Apr 18 10:00:38 EDT 2013
Hello John,
I made some generic scripts to answer has those kind of problem. There
is an example in the folder Examples/FrameworkTest.
You can find the scripts on GitHub:
https://github.com/Athius/FrameworkCMakeToolkit
I hope this is helpful.
Best regards,
Romain
Le 18/04/13 05:38, John Gallagher a écrit :
> Hello all,
>
> Some Googling has led me to questions that have been asked that are
> similar to this one but I haven't seen a definitive answer. I'm trying
> to set up a CMake "superbuild" where there are dependencies between
> the subprojects, and some of the subprojects use find_package() to
> import targets from their dependencies (other subprojects, from the
> superbuild's point of view). For a stripped down example, suppose I
> have proj1 and proj2. proj1 can be built and installed on its own, and
> it writes out a Proj1Config.cmake file (with targets and such). proj2 uses
>
> find_package(Proj1 REQUIRED)
>
> to import those targets. So independent of a CMake superbuild, things
> work just fine if I configure, build, and install proj1, *then*
> configure, build, and install proj2. Is there a way to do this using a
> CMake superbuild? Some ideas (mostly gleaned from the aforementioned
> googling):
>
> 1. Use add_subdirectory() from the superproject. I think the REQUIRED
> on find_package() would fail though? In my case I can modify the
> subprojects, but I would like for them to continue to build correctly
> standalone (not inside the superbuild), as they really are separate
> projects. Is there a way to make add_subdirectory() work without
> exploding on find_package?
>
> 2. Don't use CMake for the "superbuild" - a shell script or plain
> Makefile could accomplish this pretty easily, but that seems a little
> hokey.
>
> 3. (This one is unclear.) Somehow build proj1 before configuring
> proj2, and point proj2 at proj1's build directory so it can find
> Proj1Config.cmake. This seems fragile at best (prefix, RPATH, etc issues).
>
> Appreciate any advice!
>
> John
>
>
> --
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130418/f1396d53/attachment.htm>
More information about the CMake
mailing list