<div dir="ltr">An alternative to the CMake superbuild: leave your actual project intact. Simply create a separate shell script which builds all the dependencies (by running cmake commands). Or, if you do like the ExternalProject stuff, create a superbuild which builds only the dependencies.<div><br></div><div>Tamas</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 30, 2017 at 5:01 AM, Florent Castelli <span dir="ltr"><<a href="mailto:florent.castelli@gmail.com" target="_blank">florent.castelli@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 30/03/2017 04:38, Robert Dailey wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
At the end of the day, I've solved the Boost problem but I have many<br>
other libraries I still manually build: openssl, libpng, zlib, etc.<br>
It's as you said, maintaining build scripts for all of these will be<br>
challenging but I think that's the proper way to go in my specific<br>
situation (multi platform). It'll be less maintenance than rebuilding<br>
binaries 3x per each.<br>
<br>
Do you know how to set up the boost cmake project I linked on github<br>
to work with superbuild? And do you prefer your superbuild execution<br>
to happen during cmake generate (basically cmake invokes itself for<br>
the superbuild) or do you prefer a separate external run, independent<br>
of the normal one (basically 2x cmake invocations)?<br>
<br>
Do you know of similar projects for other libraries I mentioned? Could<br>
hand write my own, but seems better to piggyback on someone else's<br>
efforts.<br>
<br>
Thanks for your feedback!<br>
</blockquote>
<br></span>
Only a few libraries are tricky to build, libpng or zlib are trivial for example.<br>
<br>
A super-build is just having one big project and defining all the targets directly in there, using external CMake build scripts through add_subdirectory() for example. There is just one CMake invocation.<br>
This is how my Boost CMake project (yes, I'm the one being it) works. As for the Boost dependencies, are you really using them? If you're not, then you don't need to build the parts of Boost using them, most are optional.<br>
If you do, then you can provide Find*.cmake scripts returning targets you've built yourself currently. Feel free to create issues on the bug tracker if you need assistance with that.<br>
<br>
I don't know on the top of my head similar projects for all libraries, but I know there are many people writing CMake build scripts for all kind of libraries, so just search on the web :)<span class="HOEnZb"><font color="#888888"><br>
<br>
/Florent</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMak<wbr>e_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/su<wbr>pport.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/co<wbr>nsulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/tr<wbr>aining.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/cmake" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/cmake</a><br>
</div></div></blockquote></div><br></div>