Non-standard variables in %cmake macro

Jan Rękorajski baggins at pld-linux.org
Sat Jan 11 14:56:21 CET 2014


On Sat, 04 Jan 2014, Jakub Bogusz wrote:

> The following variables set in %cmake macro:
> 
>     -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\
>     -DLIB_INSTALL_DIR:PATH=%{_libdir} \\\
>     -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
>     -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
> 
> aren't standard for cmake; they appear in some examples, but are not
> actually set or used by cmake distribution.
> 
> They are used in KDE4-specific cmake files, but are not standardized
> globally; some packages (libgit2, to name one, and I saw at least two
> more) expect passed values (if any) to be always relative (to
> CMAKE_INSTALL_PREFIX); KDE4 cmake files support both absolute and
> relative values.
> KDE4 defaults are sane (provided CMAKE_INSTALL_PREFIX and LIB_SUFFIX
> variables are passed properly) except for SYSCONF_INSTALL_DIR (which
> is ${CMAKE_INSTALL_PREFIX}/etc by default).
> 
> My proposal is to remove the first three variables from %cmake macro
> and pass them only in the rare cases when they are required.
> I'd keep SYSCONF_INSTALL_DIR, because relative value is always wrong
> with FHS.
> 
> Any better solutions?

Your proposal looks like a proper cleanup. Just do it, IMO.

-- 
Jan Rękorajski                                 | PLD/Linux
SysAdm                                         | http://www.pld-linux.org/
baggins<at>mimuw.edu.pl
baggins<at>pld-linux.org


More information about the pld-devel-en mailing list