From 403e2db139d81a00a5b2da10d22dec56e41225c4 Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Mon, 15 Jan 2018 22:48:46 +0300 Subject: [PATCH] CMake: use GNUInstallDirs for library install dir Libraries now will be installed in the correct directory on x86_64 linux systems, and can be changed with `-DCMAKE_INSTALL_LIBDIR=` option. --- build/cmake/CMakeLists.txt | 7 +++++++ build/cmake/lib/CMakeLists.txt | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index 8e8824e7c..7361bc8a6 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -11,6 +11,7 @@ PROJECT(zstd) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9) SET(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules") +INCLUDE(GNUInstallDirs) #----------------------------------------------------------------------------- # Add extra compilation flags @@ -21,6 +22,12 @@ ADD_ZSTD_COMPILATION_FLAGS() # Always hide XXHash symbols ADD_DEFINITIONS(-DXXH_NAMESPACE=ZSTD_) +#----------------------------------------------------------------------------- +# Installation variables +#----------------------------------------------------------------------------- +MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") +MESSAGE(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}") + #----------------------------------------------------------------------------- # Options #----------------------------------------------------------------------------- diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index fd20bdb87..3435e1bb3 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -146,7 +146,7 @@ ENDIF (ZSTD_BUILD_STATIC) IF (UNIX) # pkg-config SET(PREFIX "${CMAKE_INSTALL_PREFIX}") - SET(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib") + SET(LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") SET(VERSION "${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}") ADD_CUSTOM_TARGET(libzstd.pc ALL @@ -155,7 +155,7 @@ IF (UNIX) -P "${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig.cmake" COMMENT "Creating pkg-config file") - INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "share/pkgconfig") + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${LIBDIR}/pkgconfig") ENDIF (UNIX) # install target @@ -167,10 +167,12 @@ INSTALL(FILES DESTINATION "include") IF (ZSTD_BUILD_SHARED) - INSTALL(TARGETS libzstd_shared RUNTIME DESTINATION "bin" LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib") + INSTALL(TARGETS libzstd_shared RUNTIME DESTINATION "bin" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ENDIF() IF (ZSTD_BUILD_STATIC) - INSTALL(TARGETS libzstd_static ARCHIVE DESTINATION "lib") + INSTALL(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ENDIF (ZSTD_BUILD_STATIC) # uninstall target -- 2.47.2