From 31af190a6aa1f3b9bc94ee3aee9aab55d13ff3d5 Mon Sep 17 00:00:00 2001 From: "Matwey V. Kornilov" Date: Fri, 24 Sep 2021 15:24:35 +0300 Subject: [PATCH] Use GNUInstallDirs cmake module Some Linux distributions prefer to use /usr/lib64 destination for libraries at 64bit architectures. To be as generic as possible, use GNUInstallDirs module to resolve correct destination paths. The paths can be overrided from the command line as the following: cmake .. -DCMAKE_INSTALL_LIBDIR:PATH=lib --- CMakeLists.txt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a0200eb..931d686 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,33 +92,35 @@ endif() # install rules # ------------------------------------------------------------------------------------------------------ +include(GNUInstallDirs) + if(AMQP-CPP_BUILD_SHARED) # copy shared lib and its static counter part install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION lib + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) else() # copy static lib install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config - ARCHIVE DESTINATION lib + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) endif() # copy header files -install(DIRECTORY include/amqpcpp/ DESTINATION include/amqpcpp +install(DIRECTORY include/amqpcpp/ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/amqpcpp" FILES_MATCHING PATTERN "*.h") -install(FILES include/amqpcpp.h DESTINATION include) +install(FILES include/amqpcpp.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -install(EXPORT ${PROJECT_NAME}Config DESTINATION cmake) +install(EXPORT ${PROJECT_NAME}Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/amqpcpp") export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) set(DEST_DIR "${CMAKE_INSTALL_PREFIX}") set(PRIVATE_LIBS "-llibamqpcc") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/amqpcpp.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" @ONLY) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" DESTINATION lib/pkgconfig) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") # submodule support # ------------------------------------------------------------------------------------------------------ -- 2.26.2