diff --git a/projects/rocprofiler/CMakeLists.txt b/projects/rocprofiler/CMakeLists.txt index a13b51538b..fc268a842b 100644 --- a/projects/rocprofiler/CMakeLists.txt +++ b/projects/rocprofiler/CMakeLists.txt @@ -29,8 +29,11 @@ set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) set ( ROCPROFILER_NAME "rocprofiler" ) set ( ROCPROFILER_TARGET "${ROCPROFILER_NAME}64" ) set ( ROCPROFILER_LIBRARY "lib${ROCPROFILER_TARGET}" ) -project ( ${ROCPROFILER_TARGET} ) +project ( ${ROCPROFILER_NAME} ) +# Set default libdir to be "lib" for ROCm +set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory") +include(GNUInstallDirs) ## Adding default path cmake modules list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" ) ## Include common cmake modules @@ -130,15 +133,15 @@ message ( "CPack-install-prefix: ${CPACK_PACKAGING_INSTALL_PREFIX}" ) message ( "-----------Dest-name: ${DEST_NAME}" ) # Install header and library -install ( TARGETS ${ROCPROFILER_TARGET} LIBRARY DESTINATION lib ) +install ( TARGETS ${ROCPROFILER_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/rocprofiler.h ${CMAKE_CURRENT_SOURCE_DIR}/src/core/activity.h - DESTINATION include/${DEST_NAME} ) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${DEST_NAME} ) # rpl_run.sh tblextr.py txt2xml.sh install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/bin/rpl_run.sh - DESTINATION bin + DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME rocprof ) @@ -150,16 +153,16 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/bin/dform.py ${CMAKE_CURRENT_SOURCE_DIR}/bin/mem_manager.py ${CMAKE_CURRENT_SOURCE_DIR}/bin/sqlitedb.py - DESTINATION libexec/${DEST_NAME} + DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${DEST_NAME} PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # gfx_metrics.xml metrics.xml install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/test/tool/metrics.xml ${CMAKE_CURRENT_SOURCE_DIR}/test/tool/gfx_metrics.xml - DESTINATION lib/${DEST_NAME} ) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME} ) # librocprof-tool.so -install ( FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION lib/${DEST_NAME} ) -install ( FILES ${PROJECT_BINARY_DIR}/test/rocprof-ctrl DESTINATION lib/${DEST_NAME} +install ( FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME} ) +install ( FILES ${PROJECT_BINARY_DIR}/test/rocprof-ctrl DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # File reorg Backward compatibility @@ -182,7 +185,7 @@ set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "ROCPROFILER library for AMD HSA runtime set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ) # Install license file -install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${CPACK_PACKAGE_NAME}) +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR}) if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} ) set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" ) diff --git a/projects/rocprofiler/DEBIAN/postinst.in b/projects/rocprofiler/DEBIAN/postinst.in index 90fc57e8fd..33848c4af1 100644 --- a/projects/rocprofiler/DEBIAN/postinst.in +++ b/projects/rocprofiler/DEBIAN/postinst.in @@ -5,7 +5,7 @@ set -e do_ldconfig() { # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - echo @CPACK_PACKAGING_INSTALL_PREFIX@/lib > /etc/ld.so.conf.d/librocprofiler64.conf + echo @CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/librocprofiler64.conf ldconfig fi } diff --git a/projects/rocprofiler/DEBIAN/prerm.in b/projects/rocprofiler/DEBIAN/prerm.in index 828d123582..88dc4aab74 100644 --- a/projects/rocprofiler/DEBIAN/prerm.in +++ b/projects/rocprofiler/DEBIAN/prerm.in @@ -5,7 +5,7 @@ set -e rm_ldconfig() { # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - rm -f /etc/ld.so.conf.d/librocprofiler64.conf + rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/librocprofiler64.conf ldconfig fi } diff --git a/projects/rocprofiler/RPM/post.in b/projects/rocprofiler/RPM/post.in index ee890d8981..3fb4dd57af 100644 --- a/projects/rocprofiler/RPM/post.in +++ b/projects/rocprofiler/RPM/post.in @@ -1,5 +1,5 @@ # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - echo @CPACK_PACKAGING_INSTALL_PREFIX@/lib > /etc/ld.so.conf.d/librocprofiler64.conf + echo @CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/librocprofiler64.conf ldconfig fi diff --git a/projects/rocprofiler/RPM/postun.in b/projects/rocprofiler/RPM/postun.in index 678b35d9f4..c5750b65e2 100644 --- a/projects/rocprofiler/RPM/postun.in +++ b/projects/rocprofiler/RPM/postun.in @@ -1,4 +1,4 @@ # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build if [ "@ENABLE_LDCONFIG@" == "ON" ]; then - rm -f /etc/ld.so.conf.d/librocprofiler64.conf && ldconfig + rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/librocprofiler64.conf && ldconfig fi diff --git a/projects/rocprofiler/rocprofiler-backward-compat.cmake b/projects/rocprofiler/rocprofiler-backward-compat.cmake index 8e1ddf6d2e..df607fddb6 100644 --- a/projects/rocprofiler/rocprofiler-backward-compat.cmake +++ b/projects/rocprofiler/rocprofiler-backward-compat.cmake @@ -64,7 +64,7 @@ function(generate_wrapper_header) set(include_guard "${include_guard}ROCPROF_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") #set include statement get_filename_component(file_name ${header_file} NAME) - set(include_statements "${include_statements}#include \"../../include/${ROCPROFILER_NAME}/${file_name}\"\n") + set(include_statements "${include_statements}#include \"../../${CMAKE_INSTALL_INCLUDEDIR}/${ROCPROFILER_NAME}/${file_name}\"\n") configure_file(${ROCPROF_WRAPPER_DIR}/header.hpp.in ${ROCPROF_WRAPPER_INC_DIR}/${file_name}) unset(include_guard) unset(include_statements) @@ -76,7 +76,7 @@ function(generate_wrapper_header) get_filename_component(INC_GAURD_NAME ${file_name} NAME_WE) string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) set(include_guard "${include_guard}ROCPROF_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") - set(include_statements "${include_statements}#include \"../../include/${ROCPROFILER_NAME}/${file_name}\"\n") + set(include_statements "${include_statements}#include \"../../${CMAKE_INSTALL_INCLUDEDIR}/${ROCPROFILER_NAME}/${file_name}\"\n") configure_file(${ROCPROF_WRAPPER_DIR}/header.hpp.in ${ROCPROF_WRAPPER_INC_DIR}/${file_name}) endfunction() @@ -88,7 +88,7 @@ function(create_binary_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../bin/${file_name} ${ROCPROF_WRAPPER_BIN_DIR}/${file_name}) + ../../${CMAKE_INSTALL_BINDIR}/${file_name} ${ROCPROF_WRAPPER_BIN_DIR}/${file_name}) endfunction() @@ -104,7 +104,7 @@ function(create_library_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${file_name} ${ROCPROF_WRAPPER_LIB_DIR}/${file_name}) + ../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${ROCPROF_WRAPPER_LIB_DIR}/${file_name}) endforeach() #create symlink to rocprofiler/tool/libtool.so # With File reorg,tool renamed to rocprof-tool @@ -114,7 +114,7 @@ function(create_library_symlink) add_custom_target(link_${LIB_TOOL} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${ROCPROFILER_NAME}/${LIB_ROCPROFTOOL} ${ROCPROF_WRAPPER_TOOL_DIR}/${LIB_TOOL}) + ../../${CMAKE_INSTALL_LIBDIR}/${ROCPROFILER_NAME}/${LIB_ROCPROFTOOL} ${ROCPROF_WRAPPER_TOOL_DIR}/${LIB_TOOL}) #create symlink to test binary #since its saved in lib folder , the code for the same is added here # With File reorg ,binary name changed from ctrl to rocprof-ctrl @@ -123,7 +123,7 @@ function(create_library_symlink) add_custom_target(link_${TEST_CTRL} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${ROCPROFILER_NAME}/${TEST_ROCPROFCTRL} ${ROCPROF_WRAPPER_TOOL_DIR}/${TEST_CTRL}) + ../../${CMAKE_INSTALL_LIBDIR}/${ROCPROFILER_NAME}/${TEST_ROCPROFCTRL} ${ROCPROF_WRAPPER_TOOL_DIR}/${TEST_CTRL}) endfunction() #Creater a template for header file