On 2015-12-17 20:16-0700 Orion Poplawski wrote:

On 12/14/2015 08:56 AM, Eric Noulard wrote:
+1
Personnally when I installed several version of CMake I do install them
with a particular prefix and then I use update-alternatives(1) to install
proper symlinks to the specific location.

I switch from one version to another using update-alternatives(1).

This can certainly be used on Fedora/EPEL as well:
https://fedoraproject.org/wiki/Packaging:Alternatives


Hi Orion:

I don't have any Fedora or rpm expertise to add, but
like Brad I use multiple versions of cmake all the time without
cross-talk between them.  In my case I just install them with
a separate installation prefix, and put the cmake version that
I want on my PATH.  I have investigated further what is
installed in one of those prefixes.

For CMake-3.3.2, most files are installed under $PREFIX/doc/cmake-3.3
and $PREFIX/share/cmake-3.3 so (subject to potential renaming to new
locations by the cmake specfile) there is no chance of the
installation of these files to clash between cmake major versions.
That leaves a small number of additional files which are not
identified by "cmake-3.3" in their pathname which are installed with
the following names:

$PREFIX/share/applications/CMake.desktop
$PREFIX/share/icons/hicolor/32x32/apps/CMakeSetup.png
$PREFIX/share/icons/hicolor/128x128/apps/CMakeSetup.png
$PREFIX/share/mime/packages/cmakecache.xml
$PREFIX/share/aclocal/cmake.m4
$PREFIX/bin/ccmake
$PREFIX/bin/cmake
$PREFIX/bin/cpack
$PREFIX/bin/ctest
$PREFIX/bin/cmake-gui

So the cmake specfile would likely have to do something special with
the first 5 of these files to avoid clashes, and the final 5
executables would have to be handled using the alternatives mechanism
that is explained in the above URL given to you by Eric.

Yes, but this cannot be done in rpm spec files for building other packages (as would be done in EPEL). Perhaps we could leverage environment-modules, but this would be a bit of a departure.

I don't understand this remark. If Fedora has already packaged
multiple non-clashing versions of cmake as above, then surely all you
have to do as a specfile maintainer of a given package that uses a
specific major version of CMake to build the package is to have the
specfile run a script before the build that runs update-alternatives
(or whatever the equivalent name of that Debian application is on
Fedora) to select the major CMake version that is required for the
package build?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

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-developers

Reply via email to