<div dir="ltr"><span style="font-size:16px">Ardi,</span><div style="font-size:16px"><br></div><div style="font-size:16px">What you describe is pretty much what Spack does.  I would take a look at it, see if it meets your needs.  Chances are, at least some of the packages you need are already included in Spack:</div><div style="font-size:16px"><br></div><div style="font-size:16px"><a href="https://github.com/llnl/spack" target="_blank">https://github.com/llnl/spack</a></div><div style="font-size:16px"><br></div><div style="font-size:16px">-- Elizabeth</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 18, 2017 at 12:39 PM, ardi <span dir="ltr"><<a href="mailto:ardillasdelmonte@gmail.com" target="_blank">ardillasdelmonte@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I want to install (on UNIX-like systems) a collection of open source<br>
packages which use cmake as the build tool, but I need the<br>
installation to be performed in a local directory (inside my home<br>
directory), and I wish convenient updating to new versions of the<br>
packages.<br>
<br>
I didn't arrive to a convincing solution, so any advice will be welcome.<br>
<br>
Here are my thoughts:<br>
<br>
The trivial solution is of course to directly install to a non-root<br>
prefix when invoking cmake, but, however, this isn't well suited for<br>
updating a previous installation of the packages (building and<br>
installing a new version will only overwrite files that have the same<br>
name, but it will keep old files that no longer exist in the new<br>
version, cluttering the local installation directory with no longer<br>
needed and mismatched files).<br>
<br>
A possibility would be to keep a copy of install_manifest.txt whenever<br>
I install a package, and remembering to always run 'xargs rm <<br>
install_manifest.txt' before installing a different version of a<br>
previously installed package.<br>
<br>
But keeping the install_manifest.txt of each installed package (and<br>
using it before updating a package) looks like a too-manual task,<br>
candidate to some kind of automation.<br>
<br>
Another (perhaps wiser) possibility would be to use cpack for creating<br>
either a RPM or DEB, and then use the corresponding package manager to<br>
install the package. But this has problems too: most package managers<br>
assume a / root installation directory. Also, I use several OSs: OSX,<br>
Linux, and some BSDs, and I'm not sure that either the RPM nor the DEB<br>
pkg managers will work flawlessly across all the OSs I use.<br>
<br>
What would you recommend here?<br>
<br>
Thanks a lot!<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/<wbr>CMake_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/<wbr>support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/<wbr>training.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/<wbr>opensource/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/<wbr>mailman/listinfo/cmake</a><br>
</blockquote></div><br></div>