GNUInstallDirs
Define GNU standard installation directories
Provides install directory variables as defined by the GNU Coding Standards.
Result Variables
Inclusion of this module defines the following variables:
CMAKE_INSTALL_<dir>
DESTINATION options of install() commands for the corresponding file type. CMAKE_INSTALL_FULL_<dir>
CMAKE_INSTALL_<dir> value. If the value is not already an absolute path, an absolute path is constructed typically by prepending the value of the CMAKE_INSTALL_PREFIX variable. However, there are some special cases as documented below. where <dir> is one of:
- 
BINDIR
- user executables (bin)
- 
SBINDIR
- system admin executables (sbin)
- 
LIBEXECDIR
- program executables (libexec)
- 
SYSCONFDIR
- read-only single-machine data (etc)
- 
SHAREDSTATEDIR
- modifiable architecture-independent data (com)
- 
LOCALSTATEDIR
- modifiable single-machine data (var)
- 
LIBDIR
- object code libraries (liborlib64orlib/<multiarch-tuple>on Debian)
- 
INCLUDEDIR
- C header files (include)
- 
OLDINCLUDEDIR
- C header files for non-gcc (/usr/include)
- 
DATAROOTDIR
- read-only architecture-independent data root (share)
- 
DATADIR
- read-only architecture-independent data (DATAROOTDIR)
- 
INFODIR
- info documentation (DATAROOTDIR/info)
- 
LOCALEDIR
- locale-dependent data (DATAROOTDIR/locale)
- 
MANDIR
- man documentation (DATAROOTDIR/man)
- 
DOCDIR
- documentation root (DATAROOTDIR/doc/PROJECT_NAME)
If the includer does not define a value the above-shown default will be used and the value will appear in the cache for editing by the user.
Special Cases
The following values of CMAKE_INSTALL_PREFIX are special:
/
For <dir> other than the SYSCONFDIR and LOCALSTATEDIR, the value of CMAKE_INSTALL_<dir> is prefixed with usr/ if it is not user-specified as an absolute path. For example, the INCLUDEDIR value include becomes usr/include. This is required by the GNU Coding Standards, which state:
/usr will be a symbolic link to /.  /usr
<dir> equal to SYSCONFDIR or LOCALSTATEDIR, the CMAKE_INSTALL_FULL_<dir> is computed by prepending just / to the value of CMAKE_INSTALL_<dir> if it is not user-specified as an absolute path. For example, the SYSCONFDIR value etc becomes /etc. This is required by the GNU Coding Standards. /opt/...
<dir> equal to SYSCONFDIR or LOCALSTATEDIR, the CMAKE_INSTALL_FULL_<dir> is computed by appending the prefix to the value of CMAKE_INSTALL_<dir> if it is not user-specified as an absolute path. For example, the SYSCONFDIR value etc becomes /etc/opt/.... This is defined by the Filesystem Hierarchy Standard.
    © 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
    https://cmake.org/cmake/help/v3.5/module/GNUInstallDirs.html