I'm not sure which discussion you're referring to, so forgive me if this was already mentioned - but are you using a superproject to ensure that dependencies are built and installed before your own project? That is, all dependencies as well as your own project are built via ExternalProject_Add and you use the DEPENDS option to ensure build order. This is generally the easiest way to do things, in my experience.
On Wed, Mar 9, 2016 at 3:22 PM, Bruce Stephens <bruce.r.steph...@gmail.com> wrote: > (This is really a continuation of a discussion from 25/26 January.) > > I'm still confused about ExternalProject_Add and libraries. > > I'd like to get to the point where I (or more likely a process > somewhere) can check out a project, then run cmake and ninja (or make > or whatever) and have that build the project and its dependencies. > > Concretely, suppose I have a trivial project that uses libcrypto from > OpenSSL and I have a local repository with OpenSSL with some patches > to build it with cmake. > > One suggestion is that I can use ExternalProject_Add to download and > build this openssl which can then export a FindOpenSSL.cmake script. > But that happens too late, doesn't it? > > When I run cmake on my project it can't use find_library and things to > find the right library files since those won't exist until I actually > build the project? > > Hence hunter's approach of downloading and building projects during > the cmake process, I imagine. Which feels a bit icky, but maybe it's > really the most straightforward way to do it? > > I think I might resort to some trickery: build the various dependent > things on the platforms I care about, and then have my main project > just know about where the interesting targets are relative to > BINARY_DIR for each of the external projects. (Or use the approach of > hunter, or use some build script.) > > Am I missing something obvious? It feels like I must be somehow. > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake