From: Jakub Jirutka Date: Thu, 19 Aug 2021 23:08:13 +0200 Subject: Fix install paths according to Linux conventions --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,9 +212,9 @@ set(mi_install_incdir "include") set(mi_install_cmakedir "cmake") else() - set(mi_install_libdir "lib/mimalloc-${mi_version}") + set(mi_install_libdir "lib") - set(mi_install_incdir "include/mimalloc-${mi_version}") + set(mi_install_incdir "include") - set(mi_install_cmakedir "share/mimalloc-${mi_version}/cmake") + set(mi_install_cmakedir "lib/cmake/mimalloc") endif() if(MI_SECURE) --- a/cmake/mimalloc-config.cmake +++ b/cmake/mimalloc-config.cmake @@ -1,11 +1,14 @@ include(${CMAKE_CURRENT_LIST_DIR}/mimalloc.cmake) -get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir, e.g. /usr/local/share/mimalloc-2.0 -if (MIMALLOC_SHARE_DIR MATCHES "/share/") - string(REPLACE "/share/" "/lib/" MIMALLOC_LIBRARY_DIR ${MIMALLOC_SHARE_DIR}) - string(REPLACE "/share/" "/include/" MIMALLOC_INCLUDE_DIR ${MIMALLOC_SHARE_DIR}) + +if (CMAKE_CURRENT_LIST_DIR MATCHES "/lib/cmake/") + get_filename_component(_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../.." PATH) # /usr/lib/cmake/mimalloc-2.0 -> /usr + set(MIMALLOC_LIBRARY_DIR "${_INSTALL_PREFIX}/lib") + set(MIMALLOC_INCLUDE_DIR "${_INSTALL_PREFIX}/include") + unset(_INSTALL_PREFIX) else() # if MI_INSTALL_TOPLEVEL==ON + get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir set(MIMALLOC_LIBRARY_DIR "${MIMALLOC_SHARE_DIR}/lib") set(MIMALLOC_INCLUDE_DIR "${MIMALLOC_SHARE_DIR}/include") endif() set(MIMALLOC_TARGET_DIR "${MIMALLOC_LIBRARY_DIR}") # legacy