SWDEV-321112: Use GNUInstallDirs
Use GNUInstallDirs variables to determine the location of BINDIR,
LIBDIR, INCLUDEDIR, DOCDIR, LIBEXECDIR and SYSCONFDIR.
Note that CMAKE_INSTALL_LIBDIR is overriden, since the default for RHEL
is lib64, but ROCm packaging wants it to be lib always. Distros or users
can easily override this.
Project name changed from rocprofiler64 to rocprofiler,since CMAKE_INSTALL_DOCDIR uses the project name
Change-Id: Iff2622b4bfc38ce5caea270e6e44ba74485cb9e4
[ROCm/rocprofiler commit: b24e05e138]
Этот коммит содержится в:
@@ -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}" )
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Ссылка в новой задаче
Block a user