Aldi,
> I believe spack is the closest to what I need. However, all these > solutions (hunter, conan, spack...) have perhaps their strongest focus > in packaging, dependencies, automatic downloads, etc... while I prefer > to do all such tasks myself. I prefer to not have packages, just download the source in the original developer provided form, untar it, > and to even build it on my own, following the developer instructions. > That is exactly what Spack does. A Spack "package" is really just a recipe that automates those tasks. I think of the Spack recipe as a Python encoding of the English-language build instructions. In fact, when I want to know how a package is built, I prefer to look at the Spack recipe. It's more concise than English, and frequently more complete. > As I said, I think spack is the closest. However, I feel it tries to > automate too much the build. Yes, it gives you a lot of customization > options, but I'm not sure the complexity is worth the effort. > Spack should work out-of-the-box without customizing things. Many of the features --- shell integration, environment modules, etc --- are not strictly necessary. You might be interested in the `spack setup` command, which currently works with CMake-based projects. It is especially good for projects you're developing, or otherwise already have the source code in your directory. I use this feature to configure all the projects I'm working on. To use Spack setup, you do the following: 1. Download and untar the software yourself, in your favorite location. (This is especially useful for development versions that don't yet have a tarball). 2. Run `spack setup`. This creates a script whose purpose it is to call CMake with appropriate options for dependencies and install location. 3. Run the Spack-generated script in place of CMake 4. Build and install yourself. http://spack.readthedocs.io/en/latest/workflows.html?highlight=spack%20setup Here's an example... $ tar xvfz myproject.tar.gz $ cd myproject $ spack setup myproject@develop $ mkdir build $ cd build $ ../spconfig.py .. # Calls through to CMake $ make $ make install > I think that by using this approach, I could reconsider moving to > spack in the future (I'd likely have to install all packages from > scratch if I move to spack later, but my directory hierarchy will end > up being the same, so all the work I do now -writing code and > projects- would be reusable without modification). > With an auto-builder, I've found that re-installing everything is no big deal. I can re-install 100 packages in a few hours of wall time, and no more than a few minutes of my time. -- Elizabeth
-- 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