Fixing Packages installation path
Change-Id: Ide3536b3c6050effcc9337e612375a7e5ddb6522
Tento commit je obsažen v:
+85
-115
@@ -20,13 +20,13 @@
|
||||
# THE SOFTWARE.
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required ( VERSION 3.18.0 )
|
||||
cmake_minimum_required(VERSION 3.18.0)
|
||||
|
||||
## Set module name and project name.
|
||||
set ( ROCPROFILER_NAME "rocprofiler" )
|
||||
set ( ROCPROFILER_TARGET "${ROCPROFILER_NAME}64" )
|
||||
set ( ROCPROFILER_LIBRARY "lib${ROCPROFILER_TARGET}" )
|
||||
project(${ROCPROFILER_NAME} VERSION 2.0.0)
|
||||
project(rocprofiler VERSION 2.0.0)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
@@ -48,9 +48,8 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
|
||||
## Adding default path cmake modules
|
||||
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" )
|
||||
## Include common cmake modules
|
||||
include ( utils )
|
||||
## Set build environment
|
||||
include ( utils )
|
||||
include ( env )
|
||||
|
||||
## Setup the package version.
|
||||
@@ -108,13 +107,6 @@ if (NOT USE_PROF_API)
|
||||
set(USE_PROF_API 1)
|
||||
endif()
|
||||
|
||||
configure_file(rocprofv2 ${PROJECT_BINARY_DIR} COPYONLY)
|
||||
install(FILES
|
||||
${PROJECT_SOURCE_DIR}/rocprofv2
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime)
|
||||
|
||||
# Protocol header lookup
|
||||
set(PROF_API_HEADER_NAME prof_protocol.h)
|
||||
if(USE_PROF_API EQUAL 1)
|
||||
@@ -151,85 +143,74 @@ add_subdirectory(plugin)
|
||||
## Build tests
|
||||
add_subdirectory(${TEST_DIR} ${PROJECT_BINARY_DIR}/test)
|
||||
|
||||
## Installation and packaging
|
||||
set ( DEST_NAME ${ROCPROFILER_NAME} )
|
||||
if ( DEFINED CMAKE_INSTALL_PREFIX )
|
||||
get_filename_component ( prefix_name ${CMAKE_INSTALL_PREFIX} NAME )
|
||||
get_filename_component ( prefix_dir ${CMAKE_INSTALL_PREFIX} DIRECTORY )
|
||||
if ( prefix_name STREQUAL ${DEST_NAME} )
|
||||
set ( CMAKE_INSTALL_PREFIX ${prefix_dir} )
|
||||
endif ()
|
||||
endif ()
|
||||
if ( DEFINED CPACK_PACKAGING_INSTALL_PREFIX )
|
||||
get_filename_component ( prefix_name ${CPACK_PACKAGING_INSTALL_PREFIX} NAME )
|
||||
get_filename_component ( prefix_dir ${CPACK_PACKAGING_INSTALL_PREFIX} DIRECTORY )
|
||||
if ( prefix_name STREQUAL ${DEST_NAME} )
|
||||
set ( CPACK_PACKAGING_INSTALL_PREFIX ${prefix_dir} )
|
||||
endif ()
|
||||
else ()
|
||||
set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} )
|
||||
endif ()
|
||||
message ( "CMake-install-prefix: ${CMAKE_INSTALL_PREFIX}" )
|
||||
message ( "CPack-install-prefix: ${CPACK_PACKAGING_INSTALL_PREFIX}" )
|
||||
message ( "-----------Dest-name: ${DEST_NAME}" )
|
||||
|
||||
## Install headers
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/core/activity.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${DEST_NAME}
|
||||
COMPONENT dev )
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/core/activity.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${ROCPROFILER_NAME}
|
||||
COMPONENT dev )
|
||||
# rpl_run.sh
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/rpl_run.sh
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
RENAME rocprof
|
||||
COMPONENT runtime )
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/rpl_run.sh
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
RENAME rocprof
|
||||
COMPONENT runtime )
|
||||
|
||||
configure_file(bin/rocprofv2 ${PROJECT_BINARY_DIR} COPYONLY)
|
||||
install(FILES
|
||||
${PROJECT_SOURCE_DIR}/bin/rocprofv2
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime)
|
||||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/txt2xml.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/merge_traces.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/txt2params.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/tblextr.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/dform.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/mem_manager.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/sqlitedb.py
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${ROCPROFILER_NAME}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime )
|
||||
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/txt2xml.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/merge_traces.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/txt2params.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/tblextr.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/dform.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/mem_manager.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/sqlitedb.py
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${DEST_NAME}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime )
|
||||
# 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 ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME}
|
||||
COMPONENT runtime )
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test/tool/metrics.xml
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test/tool/gfx_metrics.xml
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${ROCPROFILER_NAME}
|
||||
COMPONENT runtime )
|
||||
|
||||
# librocprof-tool.so
|
||||
install ( FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME}
|
||||
COMPONENT runtime )
|
||||
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
|
||||
COMPONENT runtime )
|
||||
install(FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION ${CMAKE_INSTALL_LIBDIR}/${ROCPROFILER_NAME}
|
||||
COMPONENT runtime )
|
||||
|
||||
install(FILES ${PROJECT_BINARY_DIR}/test/rocprof-ctrl DESTINATION ${CMAKE_INSTALL_LIBDIR}/${ROCPROFILER_NAME}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime )
|
||||
|
||||
# File reorg Backward compatibility
|
||||
# option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON)
|
||||
# if(FILE_REORG_BACKWARD_COMPATIBILITY)
|
||||
# include (rocprofiler-backward-compat.cmake)
|
||||
# endif()
|
||||
option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON)
|
||||
if(FILE_REORG_BACKWARD_COMPATIBILITY)
|
||||
include (rocprofiler-backward-compat.cmake)
|
||||
endif()
|
||||
|
||||
if(${LIBRARY_TYPE} STREQUAL SHARED)
|
||||
# # Installation and packaging
|
||||
## Installation and packaging
|
||||
if(DEFINED CPACK_PACKAGING_INSTALL_PREFIX)
|
||||
get_filename_component(DEST_NAME ${CPACK_PACKAGING_INSTALL_PREFIX} NAME)
|
||||
get_filename_component(DEST_DIR ${CPACK_PACKAGING_INSTALL_PREFIX} DIRECTORY)
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${DEST_DIR})
|
||||
else()
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
endif()
|
||||
|
||||
message("-----------Dest-name: ${DEST_NAME}")
|
||||
message("------Install-prefix: ${CMAKE_INSTALL_PREFIX}")
|
||||
message("-----------CPACK-dir: ${CPACK_PACKAGING_INSTALL_PREFIX}")
|
||||
|
||||
## Packaging directives
|
||||
set(CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR DEB;RPM")
|
||||
set(CPACK_GENERATOR "DEB" "RPM" "TGZ")
|
||||
set(ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.")
|
||||
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
|
||||
set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.")
|
||||
@@ -238,7 +219,7 @@ if(${LIBRARY_TYPE} STREQUAL SHARED)
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
set(CPACK_PACKAGE_CONTACT "ROCm Profiler Support <dl.ROCm-Profiler.support@amd.com>")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCMTOOLS library")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ROCPROFILER library for AMD HSA runtime API extension support")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
|
||||
@@ -246,12 +227,12 @@ if(${LIBRARY_TYPE} STREQUAL SHARED)
|
||||
message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}")
|
||||
endif()
|
||||
|
||||
# # Install license file
|
||||
## Install license file
|
||||
install(FILES ${CPACK_RESOURCE_FILE_LICENSE}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT runtime)
|
||||
|
||||
# # Debian package specific variables
|
||||
## Debian package specific variables
|
||||
if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
|
||||
set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
|
||||
else()
|
||||
@@ -274,12 +255,7 @@ if(${LIBRARY_TYPE} STREQUAL SHARED)
|
||||
set(CPACK_DEBIAN_PLUGINS_PACKAGE_NAME "${PROJECT_NAME}-plugins")
|
||||
set(CPACK_DEBIAN_PLUGINS_PACKAGE_DEPENDS "${PROJECT_NAME}, hsa-rocr-dev, rocm-core")
|
||||
|
||||
## Process the Debian install/remove scripts to update the CPACK variables
|
||||
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst.in DEBIAN/postinst @ONLY )
|
||||
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm.in DEBIAN/prerm @ONLY )
|
||||
set ( CPACK_DEBIAN_RUNTIME_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm" )
|
||||
|
||||
# # RPM package specific variables
|
||||
## RPM package specific variables
|
||||
if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE})
|
||||
set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE})
|
||||
else()
|
||||
@@ -290,7 +266,7 @@ set ( CPACK_DEBIAN_RUNTIME_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm"
|
||||
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
||||
|
||||
# # 'dist' breaks manual builds on debian systems due to empty Provides
|
||||
## 'dist' breaks manual builds on debian systems due to empty Provides
|
||||
execute_process(COMMAND rpm --eval %{?dist}
|
||||
RESULT_VARIABLE PROC_RESULT
|
||||
OUTPUT_VARIABLE EVAL_RESULT
|
||||
@@ -319,14 +295,8 @@ set ( CPACK_DEBIAN_RUNTIME_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm"
|
||||
set(CPACK_RPM_PLUGINS_PACKAGE_REQUIRES "${PROJECT_NAME}, hsa-rocr-dev, rocm-core")
|
||||
message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}")
|
||||
|
||||
## Process the Rpm install/remove scripts to update the CPACK variables
|
||||
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/post.in" RPM/post @ONLY )
|
||||
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/postun.in" RPM/postun @ONLY )
|
||||
|
||||
set ( CPACK_RPM_RUNTIME_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post" )
|
||||
set ( CPACK_RPM_RUNTIME_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun" )
|
||||
# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake
|
||||
if(NOT ROCM_DEP_ROCMCORE)
|
||||
if(NOT ROCM_DEP_ROCMCORE)
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_TESTS_PACKAGE_REQUIRES ${CPACK_RPM_TESTS_PACKAGE_REQUIRES})
|
||||
@@ -339,39 +309,39 @@ set ( CPACK_RPM_RUNTIME_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_SAMPLES_PACKAGE_DEPENDS ${CPACK_DEBIAN_SAMPLES_PACKAGE_DEPENDS})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DOCS_PACKAGE_DEPENDS ${CPACK_DEBIAN_DOCS_PACKAGE_DEPENDS})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_PLUGINS_PACKAGE_DEPENDS ${CPACK_DEBIAN_PLUGINS_PACKAGE_DEPENDS})
|
||||
endif()
|
||||
|
||||
set(CPACK_COMPONENTS_ALL runtime dev tests docs plugins samples)
|
||||
include(CPack)
|
||||
endif()
|
||||
|
||||
cpack_add_component(runtime
|
||||
DISPLAY_NAME "Runtime"
|
||||
DESCRIPTION "Dynamic libraries for the ROCProfiler")
|
||||
set(CPACK_COMPONENTS_ALL runtime dev tests docs plugins samples)
|
||||
include(CPack)
|
||||
|
||||
cpack_add_component(dev
|
||||
DISPLAY_NAME "Development"
|
||||
DESCRIPTION "Development needed header files for ROCProfiler"
|
||||
DEPENDS runtime)
|
||||
cpack_add_component(runtime
|
||||
DISPLAY_NAME "Runtime"
|
||||
DESCRIPTION "Dynamic libraries for the ROCProfiler")
|
||||
|
||||
cpack_add_component(plugins
|
||||
DISPLAY_NAME "ROCProfile Plugins"
|
||||
DESCRIPTION "Plugins for handling ROCProfiler data output"
|
||||
DEPENDS runtime)
|
||||
cpack_add_component(dev
|
||||
DISPLAY_NAME "Development"
|
||||
DESCRIPTION "Development needed header files for ROCProfiler"
|
||||
DEPENDS runtime)
|
||||
|
||||
cpack_add_component(tests
|
||||
DISPLAY_NAME "Tests"
|
||||
DESCRIPTION "Tests for the ROCProfiler"
|
||||
DEPENDS dev)
|
||||
cpack_add_component(plugins
|
||||
DISPLAY_NAME "ROCProfile Plugins"
|
||||
DESCRIPTION "Plugins for handling ROCProfiler data output"
|
||||
DEPENDS runtime)
|
||||
|
||||
cpack_add_component(samples
|
||||
DISPLAY_NAME "Samples"
|
||||
DESCRIPTION "Samples for the ROCProfiler"
|
||||
DEPENDS dev)
|
||||
cpack_add_component(tests
|
||||
DISPLAY_NAME "Tests"
|
||||
DESCRIPTION "Tests for the ROCProfiler"
|
||||
DEPENDS dev)
|
||||
|
||||
cpack_add_component(docs
|
||||
DISPLAY_NAME "Documentation"
|
||||
DESCRIPTION "Documentation for the ROCProfiler API"
|
||||
DEPENDS dev)
|
||||
cpack_add_component(samples
|
||||
DISPLAY_NAME "Samples"
|
||||
DESCRIPTION "Samples for the ROCProfiler"
|
||||
DEPENDS dev)
|
||||
|
||||
cpack_add_component(docs
|
||||
DISPLAY_NAME "Documentation"
|
||||
DESCRIPTION "Documentation for the ROCProfiler API"
|
||||
DEPENDS dev)
|
||||
endif()
|
||||
|
||||
find_package(Doxygen)
|
||||
|
||||
+1
-1
@@ -88,4 +88,4 @@ cmake \
|
||||
|
||||
make -j
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
|
||||
@@ -45,16 +45,6 @@ if ( DEFINED ENV{CMAKE_LD_AQLPROFILE} )
|
||||
add_definitions ( -DROCP_LD_AQLPROFILE=1 )
|
||||
endif()
|
||||
|
||||
## Make env vars
|
||||
if ( NOT DEFINED CMAKE_BUILD_TYPE OR "${CMAKE_BUILD_TYPE}" STREQUAL "" )
|
||||
if ( DEFINED ENV{CMAKE_BUILD_TYPE} )
|
||||
set ( CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE} )
|
||||
endif()
|
||||
endif()
|
||||
if ( NOT DEFINED CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH} )
|
||||
set ( CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH} )
|
||||
endif()
|
||||
|
||||
## Find hsa-runtime
|
||||
find_package(hsa-runtime64 CONFIG REQUIRED HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm PATH_SUFFIXES lib/cmake/hsa-runtime64 )
|
||||
|
||||
|
||||
@@ -128,7 +128,6 @@ check_c_source_compiles("
|
||||
hsa-runtime64::hsa-runtime64 Threads::Threads dl)
|
||||
target_include_directories(pc_sampling_code_printing
|
||||
PRIVATE
|
||||
INTERFACE_INCLUDE_DIRECTORIES
|
||||
${TEST_DIR}
|
||||
${ROOT_DIR}
|
||||
${HSA_RUNTIME_INC_PATH}
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele