From 1b5ae15a67350b51844da2f015700048e8b5c5c6 Mon Sep 17 00:00:00 2001 From: Ethan Swistak Date: Thu, 14 May 2026 22:26:13 +0200 Subject: [PATCH] build: fix Linux installation paths (#253) Modernize directory structure to follow Linux FHS standards and update the wrapper script to support the new layout. --- CMakeLists.txt | 23 +++++++++++++---------- files/CANdevStudio.sh | 4 ++++ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6481a5a0a..0584b8ed7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,9 +29,9 @@ message(STATUS "CMAKE_INSTALL_LIBDIR: '${CMAKE_INSTALL_LIBDIR}'") if(UNIX) if(STANDALONE) - set(INSTALL_DEST_LIB CANdevStudio) - set(INSTALL_DEST_BIN CANdevStudio) - set(INSTALL_DEST_PLUG CANdevStudio/canbus) + set(INSTALL_DEST_LIB lib/CANdevStudio) + set(INSTALL_DEST_BIN lib/CANdevStudio) + set(INSTALL_DEST_PLUG lib/CANdevStudio/canbus) else() set(INSTALL_DEST_LIB ${CMAKE_INSTALL_LIBDIR}/CANdevStudio) set(INSTALL_DEST_BIN bin) @@ -157,15 +157,9 @@ if(STANDALONE) libQt5QmlModels.so.${Qt5Core_VERSION} libQt5Quick.so.${Qt5Core_VERSION} libQt5QuickWidgets.so.${Qt5Core_VERSION} - libicudata.so.56 - libicudata.so.56.1 - libicui18n.so.56 - libicui18n.so.56.1 - libicuuc.so.56 - libicuuc.so.56.1 ) - install(PROGRAMS files/CANdevStudio.sh DESTINATION ${INSTALL_DEST_BIN}) + install(PROGRAMS files/CANdevStudio.sh DESTINATION bin RENAME CANdevStudio) install(PROGRAMS /usr/lib/x86_64-linux-gnu/libxcb-xinerama.so.0.0.0 DESTINATION ${INSTALL_DEST_BIN}) install(PROGRAMS /usr/lib/x86_64-linux-gnu/libxcb-xinerama.so.0 DESTINATION ${INSTALL_DEST_BIN}) else() @@ -191,6 +185,15 @@ if(STANDALONE) set(SYS_LIBS_ABS ${SYS_LIBS_ABS} ${QtPath}/${SYS_LIB}) endforeach() + file(GLOB ICU_LIBS + "${QtPath}/libicudata.so*" + "${QtPath}/libicui18n.so*" + "${QtPath}/libicuuc.so*" + ) + if(ICU_LIBS) + set(SYS_LIBS_ABS ${SYS_LIBS_ABS} ${ICU_LIBS}) + endif() + install(PROGRAMS ${SYS_LIBS_ABS} DESTINATION ${INSTALL_DEST_LIB} ) diff --git a/files/CANdevStudio.sh b/files/CANdevStudio.sh index bf323e03c..ca695c651 100755 --- a/files/CANdevStudio.sh +++ b/files/CANdevStudio.sh @@ -8,6 +8,10 @@ tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi + +# Support standard Linux installation path +[ -f "$dirname/../lib/CANdevStudio/$appname" ] && dirname="$dirname/../lib/CANdevStudio" + LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH $dirname/$appname "$@"