DefineInstallationPaths -> GNUInstallDirs
authorPavel Filipenský <pfilipensky@samba.org>
Wed, 7 Sep 2022 06:27:16 +0000 (08:27 +0200)
committerAndreas Schneider <asn@samba.org>
Fri, 21 Oct 2022 08:01:11 +0000 (10:01 +0200)
Signed-off-by: Pavel Filipenský <pfilipensky@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
CMakeLists.txt
ConfigureChecks.cmake
cmake/Modules/DefineInstallationPaths.cmake [deleted file]
config.h.cmake
priv_wrapper-config.cmake.in
priv_wrapper.pc.cmake
src/CMakeLists.txt

index 66f34ac967be17e7e1596c13def98993b475773c..9f3cda0049a4a0e752dac076719ab2370114d69f 100644 (file)
@@ -31,10 +31,10 @@ set(LIBRARY_SOVERSION ${LIBRARY_VERSION_MAJOR})
 
 # add definitions
 include(DefinePlatformDefaults)
-include(DefineInstallationPaths)
 include(DefineOptions.cmake)
 include(CPackConfig.cmake)
 include(CompilerChecks.cmake)
+include(GNUInstallDirs)
 
 # disallow in-source build
 include(MacroEnsureOutOfSourceBuild)
@@ -66,7 +66,7 @@ install(
   FILES
     ${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper.pc
   DESTINATION
-    ${LIB_INSTALL_DIR}/pkgconfig
+      ${CMAKE_INSTALL_LIBDIR}/pkgconfig
   COMPONENT
     pkgconfig
 )
@@ -79,7 +79,7 @@ install(
         ${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper-config-version.cmake
         ${CMAKE_CURRENT_BINARY_DIR}/priv_wrapper-config.cmake
     DESTINATION
-        ${CMAKE_INSTALL_DIR}/priv_wrapper
+        ${CMAKE_INSTALL_LIBDIR}/cmake/priv_wrapper
     COMPONENT
         devel
 )
index a577c336f1b9f2b79feba59c829a14e526ac7caf..ee1cc5aca3b21825c80b8778bfb551703ce0c357 100644 (file)
@@ -7,12 +7,8 @@ include(CheckStructHasMember)
 include(CheckPrototypeDefinition)
 include(TestBigEndian)
 
-set(PACKAGE ${PROJECT_NAME})
-set(VERSION ${PROJECT_VERSION})
-set(DATADIR ${DATA_INSTALL_DIR})
-set(LIBDIR ${LIB_INSTALL_DIR})
-set(PLUGINDIR "${PLUGIN_INSTALL_DIR}-${LIBRARY_SOVERSION}")
-set(SYSCONFDIR ${SYSCONF_INSTALL_DIR})
+set(PRIV_WRAPPER_PACKAGE ${PROJECT_NAME})
+set(PRIV_WRAPPER_VERSION ${PROJECT_VERSION})
 
 set(BINARYDIR ${CMAKE_BINARY_DIR})
 set(SOURCEDIR ${CMAKE_SOURCE_DIR})
@@ -61,7 +57,7 @@ check_function_exists(setrlimit HAVE_SETRLIMIT)
 if (UNIX)
     find_library(DLFCN_LIBRARY dl)
     if (DLFCN_LIBRARY)
-        string(APPEND _REQUIRED_LIBRARIES ${DLFCN_LIBRARY})
+        list(APPEND _REQUIRED_LIBRARIES ${DLFCN_LIBRARY})
     else()
         check_function_exists(dlopen HAVE_DLOPEN)
         if (NOT HAVE_DLOPEN)
@@ -144,4 +140,4 @@ if (NOT WIN32)
     test_big_endian(WORDS_BIGENDIAN)
 endif (NOT WIN32)
 
-set(PRIVWRAP_REQUIRED_LIBRARIES ${_REQUIRED_LIBRARIES} CACHE INTERNAL "priv_wrapper required system libraries")
+set(PWRAP_REQUIRED_LIBRARIES ${_REQUIRED_LIBRARIES} CACHE INTERNAL "priv_wrapper required system libraries")
diff --git a/cmake/Modules/DefineInstallationPaths.cmake b/cmake/Modules/DefineInstallationPaths.cmake
deleted file mode 100644 (file)
index a415f3d..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 "sounds" CACHE PATH "-")
-  set(LOCALE_INSTALL_DIR "lang" CACHE PATH "-")
-endif ()
index ea3b95eb47fa461185ca7019abc720ff30fb87f3..46da1b60d5faa30d53e2b990aae6c41b268565ed 100644 (file)
@@ -1,14 +1,9 @@
 /* Name of package */
-#cmakedefine PACKAGE "${PROJECT_NAME}"
+#cmakedefine PRIV_WRAPPER_PACKAGE "${PRIV_WRAPPER_PACKAGE}"
 
 /* Version number of package */
-#cmakedefine VERSION "${PROJECT_VERSION}"
+#cmakedefine PRIV_WRAPPER_VERSION "${PRIV_WRAPPER_VERSION}"
 
-#cmakedefine LOCALEDIR "${LOCALE_INSTALL_DIR}"
-#cmakedefine DATADIR "${DATADIR}"
-#cmakedefine LIBDIR "${LIBDIR}"
-#cmakedefine PLUGINDIR "${PLUGINDIR}"
-#cmakedefine SYSCONFDIR "${SYSCONFDIR}"
 #cmakedefine BINARYDIR "${BINARYDIR}"
 #cmakedefine SOURCEDIR "${SOURCEDIR}"
 
index 651f2b01cd9f11fc58fcc9ff227abec3c9db323b..35459db08610c8a709277826bab072e27eb059e1 100644 (file)
@@ -1 +1 @@
-set(PRIV_WRAPPER_LIBRARY @LIB_INSTALL_DIR@/@PRIV_WRAPPER_LIB@)
+set(PRIV_WRAPPER_LIBRARY @CMAKE_INSTALL_FULL_LIBDIR@/@PRIV_WRAPPER_LIB@)
index 9244b5f082ca99a8355ef9cde8888f1a15ea6ce5..c5ba8261881fb08d37813fdf0e030ecf39d241de 100644 (file)
@@ -1,4 +1,4 @@
 Name: @PROJECT_NAME@
 Description: The priv_wrapper library
 Version: @PROJECT_VERSION@
-Libs: @LIB_INSTALL_DIR@/@PRIV_WRAPPER_LIB@
+Libs: @CMAKE_INSTALL_LIBDIR@/@PRIV_WRAPPER_LIB@
index 985dc4963d4dc2041064477ec5316dd69d8eb3ae..1613f6b146eeeacdebfb2f968b2679aea5842d3e 100644 (file)
@@ -8,23 +8,23 @@ target_compile_options(priv_wrapper
                        PRIVATE
                           ${DEFAULT_C_COMPILE_FLAGS}
                           -D_GNU_SOURCE)
-target_link_libraries(priv_wrapper ${SWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(priv_wrapper
+                      PRIVATE ${PWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 
-install(
-  TARGETS
-    priv_wrapper
-  RUNTIME DESTINATION ${BIN_INSTALL_DIR}
-  LIBRARY DESTINATION ${LIB_INSTALL_DIR}
-  ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
-)
+set_target_properties(priv_wrapper
+                      PROPERTIES
+                          VERSION ${LIBRARY_VERSION}
+                          SOVERSION ${LIBRARY_SOVERSION})
+if (DEFINED DEFAULT_LINK_FLAGS)
+    set_target_properties(priv_wrapper
+                          PROPERTIES
+                              LINK_FLAGS ${DEFAULT_LINK_FLAGS})
+endif()
 
-set_target_properties(
-  priv_wrapper
-    PROPERTIES
-      VERSION
-        ${LIBRARY_VERSION}
-      SOVERSION
-        ${LIBRARY_SOVERSION}
+install(TARGETS priv_wrapper
+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
 )
 
 set(PRIV_WRAPPER_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}priv_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" PARENT_SCOPE)