From: Clifford Y. <cli...@gm...> - 2011-12-23 03:45:41
|
In principle, I should be able to provide greater control over various subdirectory paths (BIN_DIR, LIB_DIR, DATA_DIR, etc. already do some of that.) I haven't set up a flag to turn versioning on/off for all of them simultaneously (at the moment DATA_DIR is versioned and the others are not) but it should be possible to provide controls for that, if we want them. What are some "desirable" scenarios for install directory paths? I can try to ensure CMake will support them - I don't want to lose flexibility/features we may want in the future... Cheers, CY On Thu, Sep 22, 2011 at 8:56 PM, brlcad <br...@ma...> wrote: > > The fact that we default to a versioned data directory isn't necessary (and > can be overridden with --datadir) but was done a couple years back when we > were pressing hard to become integrated cleanly into apt and portage for > Debian and Gentoo respectively. > > The default for most larger software packages under package management > utilize versioned directory installation so you can have multiple versions > installed simultaneously in the system install directories. This is > usually done by overriding all of the various --libdir --includedir etc > configure flags. The datadir path was the first to get tackled but ended up > requiring major re-architecting of path management in libbu and mged so that > all of BRL-CAD was relocatable (related to the prior BRLCAD_ROOT > discussion). Once it was working, the next steps were getting the other > configure directories (libdir, includedir, sysconfdir, etc) versioned and > then adding a single flag that toggles versioning on/off. > > With cmake taking over, it could go back to being something much simpler by > default, but those changes will need to be very closely coordinated with > references to the versioned data directory throughout the package (scripts, > libbu, etc). > > Cmake doesn't provide as fine-grained directory control as cmake did, so I > expect we'll have to support multiple simultaneous system install > directories in another manner (such as installing root into > /usr/share/brlcad/rel-VERSION and adding symbolic links into /usr/bin, > /usr/include/brlcad/VERSION, /usr/lib/brlcad/VERSION, etc during > installation). > > Cheers! > Sean |