cmake: Use GNUInstallDirs
authorAndreas Schneider <asn@samba.org>
Wed, 20 Feb 2019 09:35:27 +0000 (10:35 +0100)
committerAndreas Schneider <asn@samba.org>
Thu, 28 Feb 2019 11:49:33 +0000 (12:49 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
CMakeLists.txt
cmake/Modules/DefineInstallationPaths.cmake [deleted file]
doc/CMakeLists.txt
nss_wrapper-config.cmake.in
nss_wrapper.pc.cmake
src/CMakeLists.txt

index 6edc59b01bde19417f8a94bc7a2bd86b4073ea6b..4507a15c40c7e28eac21229791918be60c7e733c 100644 (file)
@@ -29,10 +29,10 @@ set(LIBRARY_SOVERSION "0")
 # add definitions
 include(DefineCMakeDefaults)
 include(DefinePlatformDefaults)
-include(DefineInstallationPaths)
 include(DefineOptions.cmake)
 include(CPackConfig.cmake)
 include(CompilerChecks.cmake)
+include(GNUInstallDirs)
 
 # disallow in-source build
 include(MacroEnsureOutOfSourceBuild)
@@ -49,11 +49,8 @@ configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 # check subdirectories
 add_subdirectory(src)
 
-install(
-    PROGRAMS
-        nss_wrapper.pl
-    DESTINATION
-        ${BIN_INSTALL_DIR})
+install(PROGRAMS nss_wrapper.pl
+        DESTINATION ${CMAKE_INSTALL_BINDIR})
 
 if (UNIT_TESTING)
     find_package(cmocka 1.1.0 REQUIRED)
@@ -78,7 +75,7 @@ install(
   FILES
     ${CMAKE_CURRENT_BINARY_DIR}/nss_wrapper.pc
   DESTINATION
-    ${LIB_INSTALL_DIR}/pkgconfig
+    ${CMAKE_INSTALL_LIBDIR}/pkgconfig
   COMPONENT
     pkgconfig
 )
@@ -91,7 +88,7 @@ install(
         ${CMAKE_CURRENT_BINARY_DIR}/nss_wrapper-config-version.cmake
         ${CMAKE_CURRENT_BINARY_DIR}/nss_wrapper-config.cmake
     DESTINATION
-        ${CMAKE_INSTALL_DIR}/nss_wrapper
+        ${CMAKE_INSTALL_LIBDIR}/cmake/nss_wrapper
     COMPONENT
         devel
 )
diff --git a/cmake/Modules/DefineInstallationPaths.cmake b/cmake/Modules/DefineInstallationPaths.cmake
deleted file mode 100644 (file)
index 88e08ca..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-if (UNIX OR OS2)
-  IF (NOT APPLICATION_NAME)
-    MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
-    SET(APPLICATION_NAME ${PROJECT_NAME})
-  ENDIF (NOT APPLICATION_NAME)
-
-  # Suffix for Linux
-  SET(LIB_SUFFIX
-    CACHE STRING "Define suffix of directory name (32/64)"
-  )
-
-  SET(EXEC_INSTALL_PREFIX
-    "${CMAKE_INSTALL_PREFIX}"
-    CACHE PATH  "Base directory for executables and libraries"
-  )
-  SET(SHARE_INSTALL_PREFIX
-    "${CMAKE_INSTALL_PREFIX}/share"
-    CACHE PATH "Base directory for files which go to share/"
-  )
-  SET(DATA_INSTALL_PREFIX
-    "${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
-    CACHE PATH "The parent directory where applications can install their data")
-
-  # The following are directories where stuff will be installed to
-  SET(BIN_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/bin"
-    CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
-  )
-  SET(SBIN_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/sbin"
-    CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
-  )
-  SET(LIB_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
-    CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
-  )
-  SET(LIBEXEC_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/libexec"
-    CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
-  )
-  SET(PLUGIN_INSTALL_DIR
-    "${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
-    CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
-  )
-  SET(INCLUDE_INSTALL_DIR
-    "${CMAKE_INSTALL_PREFIX}/include"
-    CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
-  )
-
-  set(CMAKE_INSTALL_DIR
-    "${LIB_INSTALL_DIR}/cmake"
-    CACHE PATH "The subdirectory to install cmake config files")
-
-  SET(DATA_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}"
-    CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
-  )
-  SET(HTML_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/doc/HTML"
-    CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
-  )
-  SET(ICON_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/icons"
-    CACHE PATH "The icon install dir (default data/icons/)"
-  )
-  SET(SOUND_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/sounds"
-    CACHE PATH "The install dir for sound files (default data/sounds)"
-  )
-
-  SET(LOCALE_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/locale"
-    CACHE PATH "The install dir for translations (default prefix/share/locale)"
-  )
-
-  SET(XDG_APPS_DIR
-    "${SHARE_INSTALL_PREFIX}/applications/"
-    CACHE PATH "The XDG apps dir"
-  )
-  SET(XDG_DIRECTORY_DIR
-    "${SHARE_INSTALL_PREFIX}/desktop-directories"
-    CACHE PATH "The XDG directory"
-  )
-
-  SET(SYSCONF_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/etc"
-    CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
-  )
-  SET(MAN_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/man"
-    CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
-  )
-  SET(INFO_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/info"
-    CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
-  )
-else()
-  # Same same
-  set(BIN_INSTALL_DIR "bin" CACHE PATH "-")
-  set(SBIN_INSTALL_DIR "sbin" CACHE PATH "-")
-  set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "-")
-  set(INCLUDE_INSTALL_DIR "include" CACHE PATH "-")
-  set(CMAKE_INSTALL_DIR "CMake" CACHE PATH "-")
-  set(PLUGIN_INSTALL_DIR "plugins" CACHE PATH "-")
-  set(HTML_INSTALL_DIR "doc/HTML" CACHE PATH "-")
-  set(ICON_INSTALL_DIR "icons" CACHE PATH "-")
-  set(SOUND_INSTALL_DIR "soudns" CACHE PATH "-")
-  set(LOCALE_INSTALL_DIR "lang" CACHE PATH "-")
-endif ()
index 353168a44ad82304709e6f12aefa97162081688f..bc1265e87a2b4d03d2811f52ba74f05d0627fddc 100644 (file)
@@ -1,4 +1,4 @@
 install(FILES
             nss_wrapper.1
         DESTINATION
-            ${MAN_INSTALL_DIR}/man1)
+            ${CMAKE_INSTALL_MANDIR}/man1)
index 3932a87f983cd54a4408281f906f1bcc1abe0718..8f10f25055989e5b5182a64badcae02cf02cf9ad 100644 (file)
@@ -1 +1 @@
-set(NSS_WRAPPER_LIBRARY @LIB_INSTALL_DIR@/@NSS_WRAPPER_LIB@)
+set(NSS_WRAPPER_LIBRARY @CMAKE_INSTALL_LIBDIR@/@NSS_WRAPPER_LIB@)
index 0bedeb1a37cc5fc74b95f478db1d479405a8f7c9..fb9afd71a60a6b2069329134eec9caa0b4f9e683 100644 (file)
@@ -1,4 +1,4 @@
 Name: @PROJECT_NAME@
 Description: The nss_wrapper library
 Version: @PROJECT_VERSION@
-Libs: @LIB_INSTALL_DIR@/@NSS_WRAPPER_LIB@
+Libs: @CMAKE_INSTALL_LIBDIR@/@NSS_WRAPPER_LIB@
index de80cd435a98748533e51c5bc27c9d69ec683b69..2103a0ceba7a5aaca5d1eb3ca02dede21f4a2268 100644 (file)
@@ -23,12 +23,9 @@ set_target_properties(
         ${LIBRARY_SOVERSION}
 )
 
-install(
-  TARGETS
-    nss_wrapper
-  RUNTIME DESTINATION ${BIN_INSTALL_DIR}
-  LIBRARY DESTINATION ${LIB_INSTALL_DIR}
-  ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
-)
+install(TARGETS nss_wrapper
+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        ARCHIVE DESTINATION ${CMAKE_INSTALL_L_LIBDIR})
 
 set(NSS_WRAPPER_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}nss_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" PARENT_SCOPE)