From f70fb07f32115f031115c700f756a437f2b8c42f Mon Sep 17 00:00:00 2001 From: Mario Haustein Date: Sat, 23 Aug 2025 12:53:34 +0200 Subject: [PATCH] Use standard install dirs Some Linux distributions decided to install libraries into /usr/lib64 instead of /usr/lib. Thus, the `GNUInstallDirs` module should be used. --- CMakeLists.txt | 4 +++- cli/CMakeLists.txt | 4 +++- gui/CMakeLists.txt | 4 +++- lib/CMakeLists.txt | 10 ++++++---- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4005d7..c79a27b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,8 @@ if (ENABLE_GUI) add_subdirectory (gui) endif () +include(GNUInstallDirs) + # Install the header files into include/ install(FILES include/tic.h include/tic.hpp include/tic_protocol.h - DESTINATION "include/libpololu-tic-${SOFTWARE_VERSION_MAJOR}") + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libpololu-tic-${SOFTWARE_VERSION_MAJOR}") diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt index 68cd868..0a930cb 100644 --- a/cli/CMakeLists.txt +++ b/cli/CMakeLists.txt @@ -20,4 +20,6 @@ include_directories ( target_link_libraries (cli lib) -install(TARGETS cli DESTINATION bin) +include(GNUInstallDirs) + +install(TARGETS cli DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index 4fce71d..bef617c 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -52,4 +52,6 @@ endif () target_link_libraries (gui Qt5::Widgets lib bootloader) -install(TARGETS gui DESTINATION bin) +include(GNUInstallDirs) + +install(TARGETS gui DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 3917daa..63ad83f 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -73,10 +73,12 @@ configure_file ( @ONLY ) +include(GNUInstallDirs) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libpololu-tic-${SOFTWARE_VERSION_MAJOR}.pc" - DESTINATION lib/pkgconfig) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(TARGETS lib - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})