The default installation path for the KernelShark libraries changes from /usr/local/lib/kernelshark/ to /usr/local/lib64 (or /usr/local/lib on 32 but systems). This is done in order to be consistent with the install locations of libtraceevent, libtracefs and libtracecmd. Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@xxxxxxxxx> --- CMakeLists.txt | 28 ++++++++++++++++++++++------ src/CMakeLists.txt | 6 +++--- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d75f179..76dd84a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,13 +13,28 @@ message("\n project: Kernel Shark: (version: ${KS_VERSION_STRING})\n") set(KS_DIR ${CMAKE_SOURCE_DIR}) -if (NOT _INSTALL_PREFIX) +execute_process(COMMAND bash "-c" "echo __LP64__ | ${CMAKE_C_COMPILER} -E -x c - | tail -n 1" + OUTPUT_VARIABLE __LP64__) + +if (NOT _INSTALL_PREFIX AND NOT _LIBDIR) + set(_INSTALL_PREFIX "/usr/local") -endif (NOT _INSTALL_PREFIX) -if (NOT _LIBDIR) - set(_LIBDIR "${_INSTALL_PREFIX}/lib") -endif (NOT _LIBDIR) + if (__LP64__ MATCHES 1) + set(_LIBDIR "/usr/local/lib64") + else (__LP64__ MATCHES 1) + set(_LIBDIR "/usr/local/lib") + endif (__LP64__ MATCHES 1) + +elseif (NOT _INSTALL_PREFIX) + + set(_INSTALL_PREFIX "/usr/local") + +elseif (NOT _LIBDIR) + + set(_LIBDIR "${_INSTALL_PREFIX}/lib") + +endif () set(CMAKE_MODULE_PATH "${KS_DIR}/build") find_package(TraceEvent REQUIRED) @@ -69,7 +84,8 @@ set(KS_ICON_FIN KS_icon_fin.svg) set(KS_LOGO KS_logo_symbol.svg) set(KS_LOGO_LABEL KS_logo_horizontal.svg) -set(CMAKE_INSTALL_RPATH "${_LIBDIR}/${KS_APP_NAME}/") +set(CMAKE_INSTALL_RPATH "${_LIBDIR}") +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) if (CMAKE_BUILD_TYPE MATCHES Package) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7663d44..25c372b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,7 +15,7 @@ target_link_libraries(kshark trace::cmd set_target_properties(kshark PROPERTIES SUFFIX ".so.${KS_VERSION_STRING}") -install(TARGETS kshark LIBRARY DESTINATION ${_LIBDIR}/${KS_APP_NAME}) +install(TARGETS kshark LIBRARY DESTINATION ${_LIBDIR}) if (OPENGL_FOUND AND GLUT_FOUND) @@ -29,7 +29,7 @@ if (OPENGL_FOUND AND GLUT_FOUND) set_target_properties(kshark-plot PROPERTIES SUFFIX ".so.${KS_VERSION_STRING}") - install(TARGETS kshark-plot LIBRARY DESTINATION ${_LIBDIR}/${KS_APP_NAME}) + install(TARGETS kshark-plot LIBRARY DESTINATION ${_LIBDIR}) endif (OPENGL_FOUND AND GLUT_FOUND) @@ -82,7 +82,7 @@ if (Qt5Widgets_FOUND AND Qt5Network_FOUND) install(TARGETS ${KS_APP_NAME} kshark-record kshark-gui RUNTIME DESTINATION ${_INSTALL_PREFIX}/bin/ - LIBRARY DESTINATION ${_LIBDIR}/${KS_APP_NAME}/) + LIBRARY DESTINATION ${_LIBDIR}) install(FILES "${KS_DIR}/${KS_APP_NAME}.desktop" DESTINATION ${_INSTALL_PREFIX}/share/applications/) -- 2.25.1