diff --git a/CMakeLists.txt b/CMakeLists.txt
index e5db0b21..77624c62 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,11 @@ project("OpenMS_host")
 # required for cmake < 3.13 if ccache is used
 set(CMAKE_AUTOMOC_COMPILER_PREDEFINES OFF)
 
+# Filippo Rusconi - Try to install the libs as MultiArch
+# using ${CMAKE_INSTALL_LIBDIR} as the install lib directory
+# that takes into account the lib/x86_64-linux-gnu.
+include(GNUInstallDirs)
+
 #------------------------------------------------------------------------------
 # General CMake definitions & helper
 #------------------------------------------------------------------------------
@@ -291,26 +296,26 @@ endif()
 
 #------------------------------------------------------------------------------
 # Output directories
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/lib")
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/bin")
-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/lib")
-set(OPENMS_BINARY_DIR "${OPENMS_HOST_BINARY_DIRECTORY}/bin")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/${CMAKE_INSTALL_LIBDIR}")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/${CMAKE_INSTALL_BINDIR}")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${OPENMS_HOST_BINARY_DIRECTORY}/${CMAKE_INSTALL_LIBDIR}")
+set(OPENMS_BINARY_DIR "${OPENMS_HOST_BINARY_DIRECTORY}/${CMAKE_INSTALL_BINDIR}")
 set(OPENMS_WIN32_DLL_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
 
 #------------------------------------------------------------------------------
 # define installation subdirectories to allow for custom installations
 # note that all those directories are below CMAKE_INSTALL_PREFIX
-set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
-set(INSTALL_SHARE_DIR share/OpenMS CACHE PATH "Installation directory for shared data")
-set(INSTALL_DOC_DIR share/doc CACHE PATH "Installation directory for documentation")
-set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
+set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Installation directory for executables")
+set(INSTALL_SHARE_DIR ${CMAKE_INSTALL_DATAROOTDIR}/openms CACHE PATH "Installation directory for shared data")
+set(INSTALL_DOC_DIR ${CMAKE_INSTALL_DATAROOTDIR}/doc/openms CACHE PATH "Installation directory for documentation")
+set(INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/OpenMS CACHE PATH "Installation directory for header files")
 
 if(WIN32)
   set(DEF_INSTALL_CMAKE_DIR CMake)
   set(DEF_INSTALL_LIB_DIR bin)
 else()
-  set(DEF_INSTALL_CMAKE_DIR lib/cmake/OpenMS)
-  set(DEF_INSTALL_LIB_DIR lib)
+	set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/OpenMS)
+  set(DEF_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
 endif()
 
 set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
