| Summary: | overriding CMAKE_INSTALL_LIBDIR | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Yngve Inntjore Levinsen <yngve.inntjore.levinsen> |
| Component: | cmake | Assignee: | Ben Morgan <Ben.Morgan> |
| Status: | CLOSED WONTFIX | ||
| Severity: | trivial | ||
| Priority: | P5 | ||
| Version: | other | ||
| Hardware: | PC | ||
| OS: | Linux | ||
|
Description
Yngve Inntjore Levinsen
2011-07-05 10:24:29 CEST
Unfortunately, this is an 'It Depends' problem. Some distributions use lib64, some don't, and there are further complex variations on recent Debian versions, see http://wiki.debian.org/Multiarch/ We can investigate whether it's feasible to detect the distribution as is done for Debian already, but this relies on two things which we would need to know 1) Is Arch Linux easy to detect (/etc/arch-release?) 2) Does Arch have a stable and consistent policy for the installation directory name for libraries of each architecture? For now, you can set CMAKE_INSTALL_LIBDIR on the command line, e.g. cmake -DCMAKE_INSTALL_LIBDIR=lib <other-args> or via the curses/GUI interfaces, though it is an Advanced Option, so you would need to enable those in the interface (press 't' in curses). Because of the above, I'm marking this as a LATER because of the multiarch issues. If you want to see the details, the module cmake/Modules/Geant4InstallDirs.cmake has all the logic in. Arch Linux only supports two architectures, i686 and amd64. Libraries for the architecture you have installed on Arch linux is always in `prefix`/lib, and the only other option is then obviously 32bit libraries on amd64 machines, which goes in lib32. /etc/arch-release is present on Arch Linux systems. CMake and the GNUInstallDirs module should now provide all needed functionality to modify install paths as required. |