GNUInstallDirs.cmake 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. # - Define the installation directories conforming to GNU standards.
  2. # This module defines installation directories, as described by GNU standards.
  3. # For more information about this standards, see the following site:
  4. # http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
  5. #
  6. # Module defines variables for installation directories and for resulting paths
  7. # of this directories.
  8. #
  9. # Installation directories appointed to use during install. If such variable
  10. # contains relative path, during install resulting path will be created by
  11. # prepending it with CMAKE_INSTALL_PREFIX. If it contains absolute path, it
  12. # would be taken as is.
  13. # This variables only set if not defined already, thus allowing to override them
  14. # and are stored in cache.
  15. # CMAKE_INSTALL_BINDIR - user executables (bin)
  16. # CMAKE_INSTALL_SBINDIR - system admin executables (sbin)
  17. # CMAKE_INSTALL_LIBEXECDIR - program executables (libexec)
  18. # CMAKE_INSTALL_SYSCONFDIR - read-only single-machine data (etc)
  19. # CMAKE_INSTALL_SHAREDSTATEDIR - modifiable architecture-independent data (com)
  20. # CMAKE_INSTALL_LOCALSTATEDIR - modifiable single-machine data (var)
  21. # CMAKE_INSTALL_LIBDIR - object code libraries (lib)
  22. # CMAKE_INSTALL_INCLUDEDIR - C header files (include)
  23. # CMAKE_INSTALL_OLDINCLUDEDIR - C header files for non-gcc (/usr/include)
  24. # CMAKE_INSTALL_DATAROOTDIR - read-only architecture-independent data root (share)
  25. # CMAKE_INSTALL_DATADIR - read-only architecture-independent data (DATAROOTDIR)
  26. # CMAKE_INSTALL_INFODIR - info documentation (DATAROOTDIR/info)
  27. # CMAKE_INSTALL_LOCALEDIR - locale-dependent data (DATAROOTDIR/locale)
  28. # CMAKE_INSTALL_MANDIR - man documentation (DATAROOTDIR/man)
  29. # CMAKE_INSTALL_DOCDIR - documentation root (DATAROOTDIR/doc/PROJECT_NAME)
  30. # Resulting directories derived from installation directories and always
  31. # contains absolute paths.
  32. # This variables computed in runtime and not stored in cache.
  33. # CMAKE_INSTALL_FULL_BINDIR - user executables full path (PREFIX/BINDIR)
  34. # CMAKE_INSTALL_FULL_SBINDIR - system admin executables full path (PREFIX/SBINDIR)
  35. # CMAKE_INSTALL_FULL_LIBEXECDIR - program executables full path (PREFIX/LIBEXECDIR)
  36. # CMAKE_INSTALL_FULL_SYSCONFDIR - read-only single-machine data fill path (PREFIX/SYSCONFDIR)
  37. # CMAKE_INSTALL_FULL_SHAREDSTATEDIR - modifiable architecture-independent data full path (PREFIX/SHAREDSTATEDIR)
  38. # CMAKE_INSTALL_FULL_LOCALSTATEDIR - modifiable single-machine data full path (PREFIX/LOCALSTATEDIR)
  39. # CMAKE_INSTALL_FULL_LIBDIR - object code libraries full path (PREFIX/LIBDIR)
  40. # CMAKE_INSTALL_FULL_INCLUDEDIR - C header files full path (PREFIX/INCLUDEDIR)
  41. # CMAKE_INSTALL_FULL_OLDINCLUDEDIR - C header files for non-gcc full path (/usr/include)
  42. # CMAKE_INSTALL_FULL_DATAROOTDIR - read-only architecture-independent data root full path (PREFIX/DATAROOTDIR)
  43. # CMAKE_INSTALL_FULL_DATADIR - read-only architecture-independent data full path (PREFIX/DATADIR)
  44. # CMAKE_INSTALL_FULL_INFODIR - info documentation full path (PREFIX/INFODIR)
  45. # CMAKE_INSTALL_FULL_LOCALEDIR - locale-dependent data full path (PREFIX/LOCALEDIR)
  46. # CMAKE_INSTALL_FULL_MANDIR - man documentation full path (PREFIX/MANDIR)
  47. # CMAKE_INSTALL_FULL_DOCDIR - documentation root full path (PREFIX/DOCDIR)
  48. #=============================================================================
  49. # Copyright 2011 Nikita Krupen'ko <[email protected]>
  50. #
  51. # Distributed under the OSI-approved BSD License (the "License");
  52. # see accompanying file Copyright.txt for details.
  53. #
  54. # This software is distributed WITHOUT ANY WARRANTY; without even the
  55. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  56. # See the License for more information.
  57. #=============================================================================
  58. # (To distribute this file outside of CMake, substitute the full
  59. # License text for the above reference.)
  60. # Installation directories
  61. #
  62. if(NOT DEFINED CMAKE_INSTALL_BINDIR)
  63. set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)")
  64. endif()
  65. if(NOT DEFINED CMAKE_INSTALL_SBINDIR)
  66. set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)")
  67. endif()
  68. if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR)
  69. set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)")
  70. endif()
  71. if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR)
  72. set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)")
  73. endif()
  74. if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR)
  75. set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)")
  76. endif()
  77. if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR)
  78. set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)")
  79. endif()
  80. if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
  81. set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "object code libraries (lib)")
  82. endif()
  83. if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
  84. set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)")
  85. endif()
  86. if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR)
  87. set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)")
  88. endif()
  89. if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR)
  90. set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)")
  91. endif()
  92. if(NOT DEFINED CMAKE_INSTALL_DATADIR)
  93. set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)")
  94. endif()
  95. if(NOT DEFINED CMAKE_INSTALL_INFODIR)
  96. set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info" CACHE PATH "info documentation (DATAROOTDIR/info)")
  97. endif()
  98. if(NOT DEFINED CMAKE_INSTALL_LOCALEDIR)
  99. set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)")
  100. endif()
  101. if(NOT DEFINED CMAKE_INSTALL_MANDIR)
  102. set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man" CACHE PATH "man documentation (DATAROOTDIR/man)")
  103. endif()
  104. if(NOT DEFINED CMAKE_INSTALL_DOCDIR)
  105. set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)")
  106. endif()
  107. mark_as_advanced(
  108. CMAKE_INSTALL_BINDIR
  109. CMAKE_INSTALL_SBINDIR
  110. CMAKE_INSTALL_LIBEXECDIR
  111. CMAKE_INSTALL_SYSCONFDIR
  112. CMAKE_INSTALL_SHAREDSTATEDIR
  113. CMAKE_INSTALL_LOCALSTATEDIR
  114. CMAKE_INSTALL_LIBDIR
  115. CMAKE_INSTALL_INCLUDEDIR
  116. CMAKE_INSTALL_OLDINCLUDEDIR
  117. CMAKE_INSTALL_DATAROOTDIR
  118. CMAKE_INSTALL_DATADIR
  119. CMAKE_INSTALL_INFODIR
  120. CMAKE_INSTALL_LOCALEDIR
  121. CMAKE_INSTALL_MANDIR
  122. CMAKE_INSTALL_DOCDIR
  123. )
  124. # Result directories
  125. #
  126. foreach(dir
  127. BINDIR
  128. SBINDIR
  129. LIBEXECDIR
  130. SYSCONFDIR
  131. SHAREDSTATEDIR
  132. LOCALSTATEDIR
  133. LIBDIR
  134. INCLUDEDIR
  135. OLDINCLUDEDIR
  136. DATAROOTDIR
  137. DATADIR
  138. INFODIR
  139. LOCALEDIR
  140. MANDIR
  141. DOCDIR
  142. )
  143. if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}})
  144. set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
  145. else()
  146. set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}")
  147. endif()
  148. endforeach()