diff --git a/CMakeLists.txt b/CMakeLists.txt index b940c077c3ad7c79f181a604d1684ee78c4c306e..bcf991990738dbbafda6a24536934aa988369187 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,14 +48,14 @@ ROOT_SHOW_OPTIONS() #---Here we add tcmalloc to the linker flags if needed------------------------------------------ if (TCMALLOC_FOUND) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ltcmalloc") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ltcmalloc") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ltcmalloc -L ${TCMALLOC_LIBRARY_PATH}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ltcmalloc -L ${TCMALLOC_LIBRARY_PATH}") endif() #---Here we add jemalloc to the linker flags if needed------------------------------------------ if (JEMALLOC_FOUND) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljemalloc") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ljemalloc") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ljemalloc -L ${JEMALLOC_LIBRARY_PATH}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ljemalloc -L ${JEMALLOC_LIBRARY_PATH}") endif() #---Populate the configure arguments returned by 'root-config --config'------------------------- diff --git a/cmake/modules/Findjemalloc.cmake b/cmake/modules/Findjemalloc.cmake index 9405b10277b1c866bd006e18e0c038dcb61898bc..cb0d2c4c760c956bb0e671b5a571229eb43a40e7 100644 --- a/cmake/modules/Findjemalloc.cmake +++ b/cmake/modules/Findjemalloc.cmake @@ -4,6 +4,7 @@ # # JEMALLOC_FOUND # JEMALLOC_LIBRARIES +# JEMALLOC_LIBRARY_PATH # JEMALLOC_INCLUDE_DIR find_path(JEMALLOC_ROOT_DIR NAMES include/jemalloc/jemalloc.h) @@ -14,3 +15,5 @@ include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(jemalloc DEFAULT_MSG JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) mark_as_advanced(JEMALLOC_FOUND JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) +get_filename_component(JEMALLOC_LIBRARY_PATH ${JEMALLOC_LIBRARIES} DIRECTORY) + diff --git a/cmake/modules/Findtcmalloc.cmake b/cmake/modules/Findtcmalloc.cmake index 247227cff9e3d869f29f891e2e98f82ed752a73f..d3ec1f3a5c616b54ae922b40dbd32b07dacff76e 100644 --- a/cmake/modules/Findtcmalloc.cmake +++ b/cmake/modules/Findtcmalloc.cmake @@ -4,6 +4,7 @@ # TCMALLOC_FOUND # TCMALLOC_INCLUDE_DIR # TCMALLOC_INCLUDE_DIRS (not cached) +# TCMALLOC_LIBRARY_PATH # TCMALLOC_tcmalloc_LIBRARY # TCMALLOC_profiler_LIBRARY # TCMALLOC_LIBRARIES (not cached) @@ -34,3 +35,5 @@ if(TCMALLOC_tcmalloc_LIBRARY) elseif(TCMALLOC_profiler_LIBRARY) get_filename_component(TCMALLOC_LIBRARY_DIRS ${TCMALLOC_profiler_LIBRARY} PATH) endif() + +get_filename_component(TCMALLOC_LIBRARY_PATH ${TCMALLOC_tcmalloc_LIBRARY} DIRECTORY)