CMAKE - Format with cmake-format
Change-Id: I5b86b7b83e3d151c3d6e1c216ecb28f1313d538a
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
[ROCm/amdsmi commit: 42c77a5912]
This commit is contained in:
gecommit door
Arif, Maisam
bovenliggende
bc0567f017
commit
c6c01ee675
@@ -4,8 +4,20 @@
|
||||
with section("parse"):
|
||||
|
||||
# Specify structure for custom cmake functions
|
||||
additional_commands = { 'foo': { 'flags': ['BAR', 'BAZ'],
|
||||
'kwargs': {'DEPENDS': '*', 'HEADERS': '*', 'SOURCES': '*'}}}
|
||||
additional_commands = {
|
||||
'parse_version': {
|
||||
'kwargs': {
|
||||
'VERSION_STRING': '*'
|
||||
}
|
||||
},
|
||||
'get_version_from_tag': {
|
||||
'kwargs': {
|
||||
'DEFAULT_VERSION_STRING': '*',
|
||||
'VERSION_PREFIX': '*',
|
||||
'GIT': '*'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Override configurations per-command where available
|
||||
override_spec = {}
|
||||
@@ -45,7 +57,7 @@ with section("format"):
|
||||
|
||||
# If an argument group contains more than this many sub-groups (parg or kwarg
|
||||
# groups) then force it to a vertical layout.
|
||||
max_subgroups_hwrap = 2
|
||||
max_subgroups_hwrap = 3
|
||||
|
||||
# If a positional argument group contains more than this many arguments, then
|
||||
# force it to a vertical layout.
|
||||
@@ -94,7 +106,7 @@ with section("format"):
|
||||
keyword_case = 'unchanged'
|
||||
|
||||
# A list of command names which should always be wrapped
|
||||
always_wrap = []
|
||||
always_wrap = ['install']
|
||||
|
||||
# If true, the argument lists which are known to be sortable will be sorted
|
||||
# lexicographicall
|
||||
|
||||
@@ -41,3 +41,5 @@ esmi_ib_library/
|
||||
!.clang-format
|
||||
!.clang-tidy
|
||||
!.clangd
|
||||
!.cmake-format
|
||||
!.pre-commit-config.yaml
|
||||
|
||||
@@ -17,6 +17,10 @@ repos:
|
||||
hooks:
|
||||
- id: clang-format-docker
|
||||
- id: cpplint-docker
|
||||
- repo: https://github.com/cheshirekow/cmake-format-precommit
|
||||
rev: v0.6.13
|
||||
hooks:
|
||||
- id: cmake-format
|
||||
# Below is a local way of running formatters and linters
|
||||
# NOTE: clang-tidy is not used in the above tests
|
||||
# - repo: https://github.com/pocc/pre-commit-hooks
|
||||
|
||||
@@ -9,13 +9,9 @@ set(AMD_SMI_TARGET "${AMD_SMI}")
|
||||
set(AMD_SMI_LIB_NAME "lib${AMD_SMI_TARGET}")
|
||||
set(AMD_SMI_LIBS_TARGET "amd_smi_libraries")
|
||||
|
||||
set(BUILD_SHARED_LIBS
|
||||
ON
|
||||
CACHE BOOL "Build shared library (.so) or not.")
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library (.so) or not.")
|
||||
|
||||
set(CMAKE_MODULE_PATH
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/"
|
||||
CACHE INTERNAL "Default module path.")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" CACHE INTERNAL "Default module path.")
|
||||
## Include common cmake modules
|
||||
include(utils)
|
||||
include(help_package)
|
||||
@@ -36,7 +32,9 @@ set(${AMD_SMI_LIBS_TARGET}_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
set(${AMD_SMI_LIBS_TARGET}_VERSION_BUILD "0")
|
||||
set(${AMD_SMI_LIBS_TARGET}_VERSION_HASH "${PKG_VERSION_HASH}")
|
||||
|
||||
set(${AMD_SMI_LIBS_TARGET}_VERSION_STRING "${${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_MINOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_PATCH}+${${AMD_SMI_LIBS_TARGET}_VERSION_HASH}")
|
||||
set(${AMD_SMI_LIBS_TARGET}_VERSION_STRING
|
||||
"${${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_MINOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_PATCH}+${${AMD_SMI_LIBS_TARGET}_VERSION_HASH}"
|
||||
)
|
||||
|
||||
# Make proper version for appending
|
||||
# Default Value is 99999
|
||||
@@ -46,7 +44,8 @@ if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
|
||||
endif()
|
||||
#Prepare final version for the CPACK use
|
||||
set(CPACK_PACKAGE_VERSION
|
||||
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${ROCM_VERSION_FOR_PACKAGE}")
|
||||
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${ROCM_VERSION_FOR_PACKAGE}"
|
||||
)
|
||||
|
||||
# The following default version values should be updated as appropriate for
|
||||
# ABI breaks (update MAJOR and MINOR), and ABI/API additions (update MINOR).
|
||||
@@ -57,9 +56,7 @@ set(PKG_VERSION_MINOR "${CPACK_PACKAGE_VERSION_MINOR}")
|
||||
set(PKG_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
set(PKG_VERSION_NUM_COMMIT 0)
|
||||
|
||||
set(AMD_SMI_PACKAGE
|
||||
amd-smi-lib
|
||||
CACHE STRING "")
|
||||
set(AMD_SMI_PACKAGE amd-smi-lib CACHE STRING "")
|
||||
|
||||
project(${AMD_SMI_LIBS_TARGET})
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
@@ -84,24 +81,17 @@ cmake_dependent_option(ENABLE_LDCONFIG "Set library links and caches using ldcon
|
||||
set(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_DATAROOTDIR}/${AMD_SMI}" CACHE STRING "Tests and Example install directory")
|
||||
|
||||
# Packaging directives
|
||||
set(CPACK_PACKAGE_NAME
|
||||
${AMD_SMI_PACKAGE}
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_NAME ${AMD_SMI_PACKAGE} CACHE STRING "")
|
||||
|
||||
set(CPACK_PACKAGE_CONTACT
|
||||
"AMD-SMILib Support <amd-smi.support@amd.com>"
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
"AMD System Management libraries"
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_CONTACT "AMD-SMILib Support <amd-smi.support@amd.com>" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD System Management libraries" CACHE STRING "")
|
||||
|
||||
generic_package()
|
||||
|
||||
## Compiler flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fno-rtti")
|
||||
if (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
|
||||
set(CMAKE_CXX_FLAGS
|
||||
"${CMAKE_CXX_FLAGS} -m64 -msse -msse2")
|
||||
if(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -msse -msse2")
|
||||
endif()
|
||||
# Security options
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wconversion -Wcast-align")
|
||||
@@ -119,7 +109,8 @@ if(ENABLE_ESMI_LIB)
|
||||
if(NOT EXISTS ${PROJECT_SOURCE_DIR}/esmi_ib_library/src)
|
||||
# TODO: use ExternalProject_Add instead or a submodule
|
||||
message(STATUS "Adding esmi_ib_library...")
|
||||
execute_process(COMMAND git clone --depth=1 -b ${current_esmi_tag} https://github.com/amd/esmi_ib_library.git ${PROJECT_SOURCE_DIR}/esmi_ib_library)
|
||||
execute_process(COMMAND git clone --depth=1 -b ${current_esmi_tag} https://github.com/amd/esmi_ib_library.git
|
||||
${PROJECT_SOURCE_DIR}/esmi_ib_library)
|
||||
else()
|
||||
message(STATUS "esmi_ib_library already installed, checking version...")
|
||||
|
||||
@@ -128,22 +119,19 @@ if(ENABLE_ESMI_LIB)
|
||||
COMMAND git rev-list --tags --max-count=1
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/esmi_ib_library
|
||||
OUTPUT_VARIABLE latest_commit
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(
|
||||
COMMAND git describe --tags ${latest_commit} --match "*pkg*"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/esmi_ib_library
|
||||
OUTPUT_VARIABLE latest_esmi_tag
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Update to latest tags if not matched
|
||||
if(NOT latest_esmi_tag STREQUAL current_esmi_tag)
|
||||
message(STATUS "Updating esmi_ib_library...")
|
||||
execute_process(
|
||||
COMMAND git clone --depth=1 -b ${current_esmi_tag} https://github.com/amd/esmi_ib_library.git ${PROJECT_SOURCE_DIR}/esmi_ib_library_temp
|
||||
RESULT_VARIABLE clone_result
|
||||
)
|
||||
COMMAND git clone --depth=1 -b ${current_esmi_tag} https://github.com/amd/esmi_ib_library.git
|
||||
${PROJECT_SOURCE_DIR}/esmi_ib_library_temp RESULT_VARIABLE clone_result)
|
||||
if(clone_result EQUAL 0)
|
||||
file(REMOVE_RECURSE ${PROJECT_SOURCE_DIR}/esmi_ib_library)
|
||||
file(RENAME ${PROJECT_SOURCE_DIR}/esmi_ib_library_temp ${PROJECT_SOURCE_DIR}/esmi_ib_library)
|
||||
@@ -187,10 +175,10 @@ set(CMN_SRC_LIST
|
||||
"${ROCM_SRC_DIR}/rocm_smi_binary_parser.cc")
|
||||
|
||||
if(ENABLE_ESMI_LIB)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_monitor.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_plat.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_utils.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_monitor.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_plat.c)
|
||||
list(APPEND CMN_SRC_LIST ${ESMI_SRC_DIR}/e_smi_utils.c)
|
||||
endif()
|
||||
|
||||
set(CMN_INC_LIST
|
||||
@@ -235,7 +223,6 @@ if(BUILD_EXAMPLES)
|
||||
add_subdirectory("example")
|
||||
endif()
|
||||
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(
|
||||
@@ -243,11 +230,8 @@ configure_package_config_file(
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${AMD_SMI}
|
||||
PATH_VARS CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_BINDIR)
|
||||
|
||||
write_basic_package_version_file(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/amd_smi-config-version.cmake
|
||||
VERSION
|
||||
"${CPACK_PACKAGE_VERSION}"
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/amd_smi-config-version.cmake
|
||||
VERSION "${CPACK_PACKAGE_VERSION}" COMPATIBILITY SameMajorVersion)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/amd_smi-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/amd_smi-config-version.cmake
|
||||
@@ -333,7 +317,7 @@ set(CPACK_RPM_ASAN_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES})
|
||||
set(CPACK_RPM_SPEC_MORE_DEFINE "%define _python_bytecompile_errors_terminate_build 0")
|
||||
# Cpack converts !/usr/bin/env python3 to /usr/libexec/platform-python in RHEL8.
|
||||
# prevent the BRP(buildroot policy) script from checking and modifying interpreter directives
|
||||
string( APPEND CPACK_RPM_SPEC_MORE_DEFINE "\n%undefine __brp_mangle_shebangs")
|
||||
string(APPEND CPACK_RPM_SPEC_MORE_DEFINE "\n%undefine __brp_mangle_shebangs")
|
||||
|
||||
# Add rocm-core dependency if -DROCM_DEP_ROCMCORE=ON is passed
|
||||
if(ROCM_DEP_ROCMCORE)
|
||||
@@ -355,10 +339,10 @@ set(CPACK_RPM_DEV_PACKAGE_NAME "${AMD_SMI_PACKAGE}")
|
||||
set(CPACK_RPM_TESTS_PACKAGE_NAME "${AMD_SMI_PACKAGE}-tests")
|
||||
set(CPACK_RPM_ASAN_PACKAGE_NAME "${AMD_SMI_PACKAGE}-asan")
|
||||
if(ENABLE_ASAN_PACKAGING)
|
||||
# ASAN Package requires only asan component with libraries and license file
|
||||
set(CPACK_COMPONENTS_ALL asan)
|
||||
# ASAN Package requires only asan component with libraries and license file
|
||||
set(CPACK_COMPONENTS_ALL asan)
|
||||
else()
|
||||
set(CPACK_COMPONENTS_ALL dev tests )
|
||||
set(CPACK_COMPONENTS_ALL dev tests)
|
||||
endif()
|
||||
|
||||
# The line below doesn't currently work; it may be this issue:
|
||||
|
||||
@@ -7,13 +7,12 @@
|
||||
@PACKAGE_INIT@
|
||||
get_filename_component(AMD_SMI_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
|
||||
set_and_check( amd_smi_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@" )
|
||||
set_and_check( AMD_SMI_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@" )
|
||||
set_and_check( AMD_SMI_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@" )
|
||||
set_and_check( amd_smi_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@" )
|
||||
set_and_check( AMD_SMI_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@" )
|
||||
set_and_check( AMD_SMI_LIB_DIRS "@PACKAGE_CMAKE_INSTALL_LIBDIR@" )
|
||||
|
||||
set_and_check(amd_smi_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
set_and_check(AMD_SMI_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
set_and_check(AMD_SMI_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
set_and_check(amd_smi_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||
set_and_check(AMD_SMI_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||
set_and_check(AMD_SMI_LIB_DIRS "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
|
||||
|
||||
# Our library dependencies (contains definitions for IMPORTED targets)
|
||||
if(NOT TARGET amd_smi AND NOT amd_smi_BINARY_DIR)
|
||||
|
||||
@@ -4,9 +4,7 @@ message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
# Set CLI Build Directory
|
||||
set(PY_PACKAGE_DIR "amdsmi_cli")
|
||||
set(PY_CLI_INSTALL_DIR
|
||||
"${CMAKE_INSTALL_LIBEXECDIR}" CACHE STRING
|
||||
"CLI tool installation directory")
|
||||
set(PY_CLI_INSTALL_DIR "${CMAKE_INSTALL_LIBEXECDIR}" CACHE STRING "CLI tool installation directory")
|
||||
|
||||
# populate version string
|
||||
configure_file(_version.py.in ${PY_PACKAGE_DIR}/_version.py @ONLY)
|
||||
@@ -73,8 +71,7 @@ add_custom_target(
|
||||
DEPENDS amdsmi_cli
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ../${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/amd-smi)
|
||||
|
||||
install(
|
||||
|
||||
@@ -5,9 +5,7 @@ option(CMAKE_VERBOSE_MAKEFILE "Enable verbose output" ON)
|
||||
option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile commands for linters and autocompleters" ON)
|
||||
|
||||
function(generic_add_rocm)
|
||||
set(ROCM_DIR
|
||||
"/opt/rocm"
|
||||
CACHE STRING "ROCm directory.")
|
||||
set(ROCM_DIR "/opt/rocm" CACHE STRING "ROCm directory.")
|
||||
if(DEFINED ENV{ROCM_RPATH} AND NOT DEFINED LIB_RUNPATH)
|
||||
set(LIB_RUNPATH "\$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../lib64" PARENT_SCOPE)
|
||||
endif()
|
||||
@@ -56,8 +54,7 @@ function(generic_package)
|
||||
## Security breach mitigation flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFORTIFY_SOURCE=2 -fstack-protector-all -Wcast-align" PARENT_SCOPE)
|
||||
## More security breach mitigation flags
|
||||
set(HARDENING_LDFLAGS
|
||||
"${HARDENING_LDFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
||||
set(HARDENING_LDFLAGS "${HARDENING_LDFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${HARDENING_LDFLAGS}" PARENT_SCOPE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${HARDENING_LDFLAGS}" PARENT_SCOPE)
|
||||
|
||||
@@ -77,34 +74,25 @@ function(generic_package)
|
||||
|
||||
# configure packaging
|
||||
# cpack version is populated with CMAKE_PROJECT_VERSION implicitly
|
||||
set(CPACK_PACKAGE_NAME
|
||||
${CMAKE_PROJECT_NAME}
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_VENDOR
|
||||
"Advanced Micro Devices, Inc."
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
"Placeholder Tool"
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION
|
||||
"This package contains the AMD ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}."
|
||||
CACHE STRING "")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX
|
||||
"${CMAKE_INSTALL_PREFIX}"
|
||||
CACHE STRING "Default packaging prefix.")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/LICENSE"
|
||||
CACHE STRING "")
|
||||
set(CPACK_RPM_PACKAGE_LICENSE
|
||||
"MIT"
|
||||
CACHE STRING "")
|
||||
set(CPACK_GENERATOR
|
||||
"DEB;RPM"
|
||||
CACHE STRING "Default packaging generators.")
|
||||
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME} CACHE STRING "")
|
||||
set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Placeholder Tool" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "This package contains the AMD ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}." CACHE STRING "")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Default packaging prefix.")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" CACHE STRING "")
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT" CACHE STRING "")
|
||||
set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.")
|
||||
set(CPACK_DEB_COMPONENT_INSTALL ON PARENT_SCOPE)
|
||||
set(CPACK_RPM_COMPONENT_INSTALL ON PARENT_SCOPE)
|
||||
mark_as_advanced(CPACK_PACKAGE_NAME CPACK_PACKAGE_VENDOR CPACK_PACKAGE_CONTACT CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
CPACK_PACKAGE_DESCRIPTION CPACK_RESOURCE_FILE_LICENSE CPACK_RPM_PACKAGE_LICENSE CPACK_GENERATOR)
|
||||
mark_as_advanced(
|
||||
CPACK_PACKAGE_NAME
|
||||
CPACK_PACKAGE_VENDOR
|
||||
CPACK_PACKAGE_CONTACT
|
||||
CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
CPACK_PACKAGE_DESCRIPTION
|
||||
CPACK_RESOURCE_FILE_LICENSE
|
||||
CPACK_RPM_PACKAGE_LICENSE
|
||||
CPACK_GENERATOR)
|
||||
|
||||
# Debian package specific variables
|
||||
if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
|
||||
|
||||
@@ -22,85 +22,86 @@
|
||||
## Parses the VERSION_STRING variable and places
|
||||
## the first, second and third number values in
|
||||
## the major, minor and patch variables.
|
||||
function( parse_version VERSION_STRING )
|
||||
function(parse_version VERSION_STRING)
|
||||
|
||||
string ( FIND ${VERSION_STRING} "-" STRING_INDEX )
|
||||
string(FIND ${VERSION_STRING} "-" STRING_INDEX)
|
||||
|
||||
if ( ${STRING_INDEX} GREATER -1 )
|
||||
math ( EXPR STRING_INDEX "${STRING_INDEX} + 1" )
|
||||
string ( SUBSTRING ${VERSION_STRING} ${STRING_INDEX} -1 VERSION_BUILD )
|
||||
endif ()
|
||||
if(${STRING_INDEX} GREATER -1)
|
||||
math(EXPR STRING_INDEX "${STRING_INDEX} + 1")
|
||||
string(SUBSTRING ${VERSION_STRING} ${STRING_INDEX} -1 VERSION_BUILD)
|
||||
endif()
|
||||
|
||||
string ( REGEX MATCHALL "[0-9]+" VERSIONS ${VERSION_STRING} )
|
||||
list ( LENGTH VERSIONS VERSION_COUNT )
|
||||
string(REGEX MATCHALL "[0-9]+" VERSIONS ${VERSION_STRING})
|
||||
list(LENGTH VERSIONS VERSION_COUNT)
|
||||
|
||||
if ( ${VERSION_COUNT} GREATER 0)
|
||||
list ( GET VERSIONS 0 MAJOR )
|
||||
set ( VERSION_MAJOR ${MAJOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${MAJOR}" )
|
||||
endif ()
|
||||
if(${VERSION_COUNT} GREATER 0)
|
||||
list(GET VERSIONS 0 MAJOR)
|
||||
set(VERSION_MAJOR ${MAJOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${MAJOR}")
|
||||
endif()
|
||||
|
||||
if ( ${VERSION_COUNT} GREATER 1 )
|
||||
list ( GET VERSIONS 1 MINOR )
|
||||
set ( VERSION_MINOR ${MINOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}" )
|
||||
endif ()
|
||||
if(${VERSION_COUNT} GREATER 1)
|
||||
list(GET VERSIONS 1 MINOR)
|
||||
set(VERSION_MINOR ${MINOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}")
|
||||
endif()
|
||||
|
||||
if ( ${VERSION_COUNT} GREATER 2 )
|
||||
list ( GET VERSIONS 2 PATCH )
|
||||
set ( VERSION_PATCH ${PATCH} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}" )
|
||||
endif ()
|
||||
if(${VERSION_COUNT} GREATER 2)
|
||||
list(GET VERSIONS 2 PATCH)
|
||||
set(VERSION_PATCH ${PATCH} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}")
|
||||
endif()
|
||||
|
||||
set ( VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE )
|
||||
set(VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE)
|
||||
|
||||
endfunction ()
|
||||
endfunction()
|
||||
|
||||
## Gets the current version of the repository
|
||||
## using versioning tags and git describe.
|
||||
## Passes back a packaging version string
|
||||
## and a library version string.
|
||||
function(get_version_from_tag DEFAULT_VERSION_STRING VERSION_PREFIX GIT)
|
||||
parse_version ( ${DEFAULT_VERSION_STRING} )
|
||||
parse_version(${DEFAULT_VERSION_STRING})
|
||||
|
||||
if ( GIT )
|
||||
execute_process ( COMMAND git describe --tags --dirty --long --match ${VERSION_PREFIX}-[0-9.]*
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG_STRING
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT )
|
||||
if ( ${RESULT} EQUAL 0 )
|
||||
parse_version ( ${GIT_TAG_STRING} )
|
||||
endif ()
|
||||
if(GIT)
|
||||
execute_process(
|
||||
COMMAND git describe --tags --dirty --long --match ${VERSION_PREFIX}-[0-9.]*
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG_STRING
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT)
|
||||
if(${RESULT} EQUAL 0)
|
||||
parse_version(${GIT_TAG_STRING})
|
||||
endif()
|
||||
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
set( VERSION_STRING "${VERSION_STRING}" PARENT_SCOPE )
|
||||
set( VERSION_MAJOR "${VERSION_MAJOR}" PARENT_SCOPE )
|
||||
set( VERSION_MINOR "${VERSION_MINOR}" PARENT_SCOPE )
|
||||
set( VERSION_PATCH "${VERSION_PATCH}" PARENT_SCOPE )
|
||||
set(VERSION_STRING "${VERSION_STRING}" PARENT_SCOPE)
|
||||
set(VERSION_MAJOR "${VERSION_MAJOR}" PARENT_SCOPE)
|
||||
set(VERSION_MINOR "${VERSION_MINOR}" PARENT_SCOPE)
|
||||
set(VERSION_PATCH "${VERSION_PATCH}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(num_change_since_prev_pkg VERSION_PREFIX)
|
||||
find_program(get_commits NAMES version_util.sh
|
||||
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
|
||||
if (get_commits)
|
||||
execute_process( COMMAND ${get_commits} -c ${VERSION_PREFIX}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE NUM_COMMITS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT )
|
||||
find_program(get_commits NAMES version_util.sh PATHS ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
|
||||
if(get_commits)
|
||||
execute_process(
|
||||
COMMAND ${get_commits} -c ${VERSION_PREFIX}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE NUM_COMMITS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT)
|
||||
|
||||
set(NUM_COMMITS "${NUM_COMMITS}" PARENT_SCOPE )
|
||||
set(NUM_COMMITS "${NUM_COMMITS}" PARENT_SCOPE)
|
||||
|
||||
if ( ${RESULT} EQUAL 0 )
|
||||
message("${NUM_COMMITS} were found since previous release")
|
||||
if(${RESULT} EQUAL 0)
|
||||
message("${NUM_COMMITS} were found since previous release")
|
||||
else()
|
||||
message("Unable to determine number of commits since previous release")
|
||||
message("Unable to determine number of commits since previous release")
|
||||
endif()
|
||||
else()
|
||||
message("WARNING: Didn't find version_util.sh")
|
||||
set(NUM_COMMITS "unknown" PARENT_SCOPE )
|
||||
set(NUM_COMMITS "unknown" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -108,7 +109,7 @@ function(get_package_version_number DEFAULT_VERSION_STRING VERSION_PREFIX GIT)
|
||||
get_version_from_tag(${DEFAULT_VERSION_STRING} ${VERSION_PREFIX} GIT)
|
||||
num_change_since_prev_pkg(${VERSION_PREFIX})
|
||||
set(PKG_VERSION_STR "${VERSION_STRING}.${NUM_COMMITS}")
|
||||
if (DEFINED ENV{ROCM_BUILD_ID})
|
||||
if(DEFINED ENV{ROCM_BUILD_ID})
|
||||
set(VERSION_ID $ENV{ROCM_BUILD_ID})
|
||||
else()
|
||||
set(VERSION_ID "local-build-0")
|
||||
@@ -116,25 +117,25 @@ function(get_package_version_number DEFAULT_VERSION_STRING VERSION_PREFIX GIT)
|
||||
|
||||
set(PKG_VERSION_STR "${PKG_VERSION_STR}-${VERSION_ID}")
|
||||
|
||||
if (GIT)
|
||||
execute_process(COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE VERSION_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT )
|
||||
if( ${RESULT} EQUAL 0 )
|
||||
if(GIT)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE VERSION_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT)
|
||||
if(${RESULT} EQUAL 0)
|
||||
# Check for dirty workspace.
|
||||
execute_process(COMMAND git diff --quiet
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
RESULT_VARIABLE RESULT )
|
||||
execute_process(COMMAND git diff --quiet WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
RESULT_VARIABLE RESULT)
|
||||
if(${RESULT} EQUAL 1)
|
||||
set(VERSION_HASH "${VERSION_HASH}-dirty")
|
||||
endif()
|
||||
else()
|
||||
set( VERSION_HASH "unknown" )
|
||||
set(VERSION_HASH "unknown")
|
||||
endif()
|
||||
else()
|
||||
set( VERSION_HASH "unknown" )
|
||||
set(VERSION_HASH "unknown")
|
||||
endif()
|
||||
set(PKG_VERSION_STR "${PKG_VERSION_STR}-${VERSION_HASH}")
|
||||
set(PKG_VERSION_STR ${PKG_VERSION_STR} PARENT_SCOPE)
|
||||
|
||||
@@ -32,25 +32,15 @@ else()
|
||||
endif()
|
||||
|
||||
# add package search paths
|
||||
set(CMAKE_PREFIX_PATH
|
||||
${CMAKE_PREFIX_PATH}
|
||||
${ROCM_DIR}
|
||||
../../../
|
||||
)
|
||||
set(CMAKE_LIBRARY_PATH
|
||||
${CMAKE_LIBRARY_PATH}
|
||||
${ROCM_DIR}/lib
|
||||
${ROCM_DIR}/lib64
|
||||
)
|
||||
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${ROCM_DIR} ../../../)
|
||||
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${ROCM_DIR}/lib ${ROCM_DIR}/lib64)
|
||||
|
||||
find_package(amd_smi
|
||||
CONFIG REQUIRED)
|
||||
find_package(amd_smi CONFIG REQUIRED)
|
||||
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
message(" Finished Cmake Example ")
|
||||
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
|
||||
|
||||
# compile example files but do not install
|
||||
# this is only useful if running from build directory
|
||||
set(SMI_DRM_EXAMPLE_EXE "amd_smi_drm_ex")
|
||||
|
||||
@@ -13,10 +13,10 @@ message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
|
||||
set(AMDSMI_DIR "" CACHE PATH "path to amdsmi installation")
|
||||
|
||||
if(ENABLE_DEBUG_LEVEL)
|
||||
add_definitions(-DENABLE_DEBUG_LEVEL=${ENABLE_DEBUG_LEVEL})
|
||||
message("**** Enabling Debug Level=${ENABLE_DEBUG_LEVEL} ****")
|
||||
add_definitions(-DENABLE_DEBUG_LEVEL=${ENABLE_DEBUG_LEVEL})
|
||||
message("**** Enabling Debug Level=${ENABLE_DEBUG_LEVEL} ****")
|
||||
else()
|
||||
add_definitions(-DENABLE_DEBUG_LEVEL=0)
|
||||
add_definitions(-DENABLE_DEBUG_LEVEL=0)
|
||||
endif()
|
||||
|
||||
set(GOAMDSMI_SHIM "goamdsmi_shim")
|
||||
@@ -43,21 +43,20 @@ message("SOVERSION: ${SO_VERSION_STRING}")
|
||||
|
||||
project(${GOAMDSMI_SHIM_TARGET})
|
||||
|
||||
if (NOT DEFINED CPACK_PACKAGE_VENDOR)
|
||||
if(NOT DEFINED CPACK_PACKAGE_VENDOR)
|
||||
set(CPACK_PACKAGE_VENDOR "AMD")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED CPACK_PACKAGE_CONTACT)
|
||||
if(NOT DEFINED CPACK_PACKAGE_CONTACT)
|
||||
set(CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc.")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY)
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
"AMD CGO wrapper")
|
||||
if(NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY)
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD CGO wrapper")
|
||||
endif()
|
||||
|
||||
if (NOT GOAMDSMI_SHIM_PACKAGE)
|
||||
set(GOAMDSMI_SHIM_PACKAGE goamdsmi_shim_lib64)
|
||||
if(NOT GOAMDSMI_SHIM_PACKAGE)
|
||||
set(GOAMDSMI_SHIM_PACKAGE goamdsmi_shim_lib64)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${GOAMDSMI_SHIM_PACKAGE}-${SO_VERSION_STRING}")
|
||||
@@ -68,11 +67,11 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -std=c++11 ")
|
||||
# Use this instead of above for 32 bit
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
else ()
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb -O0 -DDEBUG")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
set(go_amd_smi_headers)
|
||||
|
||||
@@ -80,17 +79,13 @@ set(go_amd_smi_sources)
|
||||
|
||||
set(go_amd_smi_includes)
|
||||
|
||||
|
||||
add_subdirectory(smiwrapper)
|
||||
list(APPEND go_amd_smi_headers smiwrapper/goamdsmi.h ${go_amd_smi_headers})
|
||||
list(APPEND go_amd_smi_headers smiwrapper/amdsmi_go_shim.h ${go_amd_smi_headers})
|
||||
list(APPEND go_amd_smi_sources smiwrapper/amdsmi_go_shim.c)
|
||||
list(APPEND go_amd_smi_includes ${CMAKE_CURRENT_SOURCE_DIR}/smiwrapper)
|
||||
|
||||
add_library(${GOAMDSMI_SHIM_TARGET} SHARED
|
||||
${go_amd_smi_sources}
|
||||
${go_amd_smi_headers}
|
||||
${go_amd_smi_includes})
|
||||
add_library(${GOAMDSMI_SHIM_TARGET} SHARED ${go_amd_smi_sources} ${go_amd_smi_headers} ${go_amd_smi_includes})
|
||||
|
||||
target_link_libraries(${GOAMDSMI_SHIM_TARGET} pthread rt m)
|
||||
|
||||
@@ -99,27 +94,22 @@ target_link_libraries(${GOAMDSMI_SHIM_TARGET} -L${AMDSMI_DIR}/lib)
|
||||
target_link_libraries(${GOAMDSMI_SHIM_TARGET} -L${AMDSMI_DIR}/lib64)
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
set_property(TARGET ${GOAMDSMI_SHIM_TARGET} PROPERTY
|
||||
SOVERSION "${VERSION_MAJOR}")
|
||||
set_property(TARGET ${GOAMDSMI_SHIM_TARGET} PROPERTY
|
||||
VERSION "${SO_VERSION_STRING}")
|
||||
set_property(TARGET ${GOAMDSMI_SHIM_TARGET} PROPERTY SOVERSION "${VERSION_MAJOR}")
|
||||
set_property(TARGET ${GOAMDSMI_SHIM_TARGET} PROPERTY VERSION "${SO_VERSION_STRING}")
|
||||
|
||||
## If the library is a release, strip the target library
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
add_custom_command(
|
||||
TARGET ${GOAMDSMI_SHIM_TARGET}
|
||||
POST_BUILD COMMAND ${CMAKE_STRIP} lib${GOAMDSMI_SHIM_TARGET}.so)
|
||||
endif ()
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
add_custom_command(TARGET ${GOAMDSMI_SHIM_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} lib${GOAMDSMI_SHIM_TARGET}.so)
|
||||
endif()
|
||||
|
||||
set(go_amd_smi_install_headers
|
||||
smiwrapper/goamdsmi.h
|
||||
smiwrapper/amdsmi_go_shim.h
|
||||
)
|
||||
set(go_amd_smi_install_headers smiwrapper/goamdsmi.h smiwrapper/amdsmi_go_shim.h)
|
||||
|
||||
## Add the install directives for the runtime library.
|
||||
install(TARGETS ${GOAMDSMI_SHIM_TARGET}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${GOAMDSMI_SHIM_COMPONENT})
|
||||
install(FILES ${go_amd_smi_install_headers}
|
||||
DESTINATION include)
|
||||
install(
|
||||
TARGETS ${GOAMDSMI_SHIM_TARGET}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${GOAMDSMI_SHIM_COMPONENT})
|
||||
install(
|
||||
FILES ${go_amd_smi_install_headers}
|
||||
DESTINATION include)
|
||||
|
||||
include_directories(${go_amd_smi_includes})
|
||||
|
||||
@@ -1,21 +1,14 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (c) 2024, Advanced Micro Devices, Inc.
|
||||
|
||||
set(go_amd_smi_headers
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/goamdsmi.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_go_shim.h
|
||||
CACHE INTERNAL "")
|
||||
|
||||
set(go_amd_smi_sources
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_go_shim.c
|
||||
set(go_amd_smi_headers ${CMAKE_CURRENT_SOURCE_DIR}/goamdsmi.h ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_go_shim.h
|
||||
CACHE INTERNAL "")
|
||||
|
||||
set(go_amd_smi_sources ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_go_shim.c CACHE INTERNAL "")
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${go_amd_smi_amdsmi_includes})
|
||||
|
||||
add_library(go_amd_smi_ OBJECT
|
||||
${go_amd_smi_sources}
|
||||
${go_amd_smi_headers})
|
||||
add_library(go_amd_smi_ OBJECT ${go_amd_smi_sources} ${go_amd_smi_headers})
|
||||
|
||||
### Shared libraries need PIC
|
||||
set_property(TARGET ${go_amd_smi_} PROPERTY POSITION_INDEPENDENT_CODE 1)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ if(BUILD_WRAPPER)
|
||||
find_program(clang NAMES clang REQUIRED)
|
||||
# extract clang version manually because find_package(clang) doesn't work
|
||||
execute_process(COMMAND ${clang} --version OUTPUT_VARIABLE clang_full_version_string)
|
||||
string (REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string})
|
||||
string(REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string})
|
||||
if((CLANG_VERSION_STRING VERSION_GREATER clang_ver) OR (CLANG_VERSION_STRING VERSION_EQUAL clang_ver))
|
||||
message("GOOD CLANG VERSION: ${CLANG_VERSION_STRING}")
|
||||
set(GOOD_CLANG_FOUND TRUE)
|
||||
@@ -31,37 +31,33 @@ endif()
|
||||
|
||||
if(NOT GOOD_CLANG_FOUND)
|
||||
# keep old wrapper because no clang found
|
||||
message(AUTHOR_WARNING "A wrapper will not be re-generated! Using old wrapper instead.\nSet -DBUILD_WRAPPER=ON to re-build the wrapper")
|
||||
message(
|
||||
AUTHOR_WARNING
|
||||
"A wrapper will not be re-generated! Using old wrapper instead.\nSet -DBUILD_WRAPPER=ON to re-build the wrapper"
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT amdsmi_wrapper.py
|
||||
${PY_PACKAGE_DIR}/amdsmi_wrapper.py
|
||||
DEPENDS ${AMD_SMI}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py
|
||||
OUTPUT amdsmi_wrapper.py ${PY_PACKAGE_DIR}/amdsmi_wrapper.py
|
||||
DEPENDS ${AMD_SMI} ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py
|
||||
COMMAND mkdir -p ${PY_PACKAGE_DIR}
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py ${PY_PACKAGE_DIR}/)
|
||||
else()
|
||||
find_package(Python3 3.6 COMPONENTS Interpreter Development REQUIRED)
|
||||
# --break-system-packages is needed for python 3.11
|
||||
# see: https://peps.python.org/pep-0668/
|
||||
if (NOT Python3_VERSION VERSION_LESS "3.11")
|
||||
if(NOT Python3_VERSION VERSION_LESS "3.11")
|
||||
set(Python3_BREAK_SYSTEM_PACKAGES "--break-system-packages")
|
||||
endif()
|
||||
add_custom_target(
|
||||
python_pre_reqs
|
||||
COMMAND ${Python3_EXECUTABLE} -m pip install ${Python3_BREAK_SYSTEM_PACKAGES} ctypeslib2==${ctypeslib_ver_py})
|
||||
add_custom_target(python_pre_reqs COMMAND ${Python3_EXECUTABLE} -m pip install ${Python3_BREAK_SYSTEM_PACKAGES}
|
||||
ctypeslib2==${ctypeslib_ver_py})
|
||||
# generate new wrapper
|
||||
configure_file(${PROJECT_SOURCE_DIR}/tools/generator.py generator.py @ONLY COPYONLY)
|
||||
add_custom_command(
|
||||
OUTPUT amdsmi.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py
|
||||
amdsmi_wrapper.py
|
||||
OUTPUT amdsmi.h ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py amdsmi_wrapper.py
|
||||
${PY_PACKAGE_DIR}/amdsmi_wrapper.py
|
||||
DEPENDS ${AMD_SMI}
|
||||
python_pre_reqs
|
||||
generator.py
|
||||
${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h
|
||||
DEPENDS ${AMD_SMI} python_pre_reqs generator.py ${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h
|
||||
COMMAND cp ${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h ./
|
||||
COMMAND ${Python3_EXECUTABLE} generator.py "$<$<BOOL:${ENABLE_ESMI_LIB}>:-e -DENABLE_ESMI_LIB>" -i amdsmi.h -l ${PROJECT_BINARY_DIR}/src/libamd_smi.so -o ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py
|
||||
COMMAND ${Python3_EXECUTABLE} generator.py "$<$<BOOL:${ENABLE_ESMI_LIB}>:-e -DENABLE_ESMI_LIB>" -i amdsmi.h -l
|
||||
${PROJECT_BINARY_DIR}/src/libamd_smi.so -o ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py
|
||||
COMMAND mkdir -p ${PY_PACKAGE_DIR}
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_wrapper.py ${PY_PACKAGE_DIR}/)
|
||||
endif()
|
||||
@@ -71,33 +67,22 @@ configure_file(pyproject.toml.in ${PY_BUILD_DIR}/pyproject.toml @ONLY)
|
||||
configure_file(_version.py.in ${PY_PACKAGE_DIR}/_version.py @ONLY)
|
||||
configure_file(setup.py.in ${PY_BUILD_DIR}/setup.py @ONLY)
|
||||
|
||||
add_custom_target(
|
||||
python_wrapper
|
||||
DEPENDS amdsmi_wrapper.py)
|
||||
add_custom_target(python_wrapper DEPENDS amdsmi_wrapper.py)
|
||||
|
||||
# hard-linking instead of copying avoids unnecessarry regeneration of packaged files
|
||||
add_custom_command(
|
||||
OUTPUT ${PY_PACKAGE_DIR}/__init__.py
|
||||
${PY_PACKAGE_DIR}/amdsmi_exception.py
|
||||
${PY_PACKAGE_DIR}/amdsmi_interface.py
|
||||
${PY_PACKAGE_DIR}/README.md
|
||||
${PY_PACKAGE_DIR}/LICENSE
|
||||
OUTPUT ${PY_PACKAGE_DIR}/__init__.py ${PY_PACKAGE_DIR}/amdsmi_exception.py ${PY_PACKAGE_DIR}/amdsmi_interface.py
|
||||
${PY_PACKAGE_DIR}/README.md ${PY_PACKAGE_DIR}/LICENSE
|
||||
DEPENDS python_wrapper
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py ${PY_PACKAGE_DIR}/
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_exception.py ${PY_PACKAGE_DIR}/
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_interface.py ${PY_PACKAGE_DIR}/
|
||||
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${PY_PACKAGE_DIR}/
|
||||
COMMAND ln -Pf ${PROJECT_SOURCE_DIR}/LICENSE ${PY_PACKAGE_DIR}/
|
||||
)
|
||||
COMMAND ln -Pf ${PROJECT_SOURCE_DIR}/LICENSE ${PY_PACKAGE_DIR}/)
|
||||
|
||||
# copy libamd_smi.so to allow for a self-contained python package
|
||||
add_custom_command(
|
||||
OUTPUT ${PY_PACKAGE_DIR}/libamd_smi.so
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/src/libamd_smi.so
|
||||
COMMAND cp
|
||||
"${PROJECT_BINARY_DIR}/src/libamd_smi.so"
|
||||
${PY_PACKAGE_DIR}/
|
||||
)
|
||||
add_custom_command(OUTPUT ${PY_PACKAGE_DIR}/libamd_smi.so DEPENDS ${PROJECT_BINARY_DIR}/src/libamd_smi.so
|
||||
COMMAND cp "${PROJECT_BINARY_DIR}/src/libamd_smi.so" ${PY_PACKAGE_DIR}/)
|
||||
|
||||
add_custom_target(
|
||||
python_package ALL
|
||||
@@ -109,14 +94,11 @@ add_custom_target(
|
||||
${PY_PACKAGE_DIR}/amdsmi_interface.py
|
||||
${PY_PACKAGE_DIR}/README.md
|
||||
${PY_PACKAGE_DIR}/LICENSE
|
||||
${PY_PACKAGE_DIR}/libamd_smi.so
|
||||
)
|
||||
${PY_PACKAGE_DIR}/libamd_smi.so)
|
||||
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PY_BUILD_DIR}/pyproject.toml
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PY_BUILD_DIR}/setup.py
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}/_version.py
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PY_BUILD_DIR}/pyproject.toml
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PY_BUILD_DIR}/setup.py ${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}/_version.py
|
||||
DESTINATION ${PY_WRAPPER_INSTALL_DIR}
|
||||
COMPONENT dev)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ if(${ROCM_PATCH_VERSION})
|
||||
set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
||||
else()
|
||||
set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}")
|
||||
endif ()
|
||||
endif()
|
||||
set(${ROCM_SMI}_VERSION_MAJOR "${CPACK_PACKAGE_VERSION_MAJOR}")
|
||||
set(${ROCM_SMI}_VERSION_MINOR "${CPACK_PACKAGE_VERSION_MINOR}")
|
||||
set(${ROCM_SMI}_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
@@ -60,9 +60,7 @@ set_property(TARGET ${ROCM_SMI_TARGET} PROPERTY VERSION "${SO_VERSION_STRING}")
|
||||
## If the library is a release, strip the target library
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
if(${BUILD_SHARED_LIBS}) #stripping only for .so
|
||||
add_custom_command(
|
||||
TARGET ${ROCM_SMI_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_STRIP} lib${ROCM_SMI_TARGET}.so.${SO_VERSION_STRING})
|
||||
add_custom_command(TARGET ${ROCM_SMI_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP}
|
||||
lib${ROCM_SMI_TARGET}.so.${SO_VERSION_STRING})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -34,7 +34,8 @@ add_custom_command(
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${RUST_PACKAGE_SROUCE_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${RUST_PACKAGE_SROUCE_DIR}/include/amd_smi
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${RUST_PACKAGE_SROUCE_DIR}/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h ${RUST_PACKAGE_SROUCE_DIR}/include/amd_smi/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h
|
||||
${RUST_PACKAGE_SROUCE_DIR}/include/amd_smi/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/src/libamd_smi.so ${RUST_PACKAGE_SROUCE_DIR}/lib/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/build.rs ${RUST_PACKAGE_SROUCE_DIR}/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/callbacks.rs ${RUST_PACKAGE_SROUCE_DIR}/
|
||||
@@ -42,30 +43,26 @@ add_custom_command(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${RUST_PACKAGE_SROUCE_DIR}/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${RUST_PACKAGE_SROUCE_DIR}/src
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/examples ${RUST_PACKAGE_SROUCE_DIR}/examples
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cfz ${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz --format=gnutar ${RUST_PACKAGE_SROUCE_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cfz ${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz --format=gnutar
|
||||
${RUST_PACKAGE_SROUCE_DIR}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${AMD_SMI}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/build.rs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/callbacks.rs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Cargo.toml
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.md
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/examples
|
||||
COMMENT "Creating AMD SMI Rust wrapper source tar.gz archive"
|
||||
)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/build.rs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/callbacks.rs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Cargo.toml
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.md
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/examples
|
||||
COMMENT "Creating AMD SMI Rust wrapper source tar.gz archive")
|
||||
|
||||
add_custom_target(amdsmi_rust_source ALL
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz
|
||||
)
|
||||
add_custom_target(amdsmi_rust_source ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz)
|
||||
|
||||
find_program(CARGO_EXECUTABLE NAMES cargo)
|
||||
|
||||
if(NOT CARGO_EXECUTABLE)
|
||||
message(STATUS "Cargo not found. Installing Rust and Cargo...")
|
||||
execute_process(
|
||||
COMMAND /bin/sh -c "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
execute_process(COMMAND /bin/sh -c "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
|
||||
RESULT_VARIABLE result)
|
||||
|
||||
if(result)
|
||||
message(FATAL_ERROR "Failed to install Rust and Cargo.")
|
||||
@@ -79,36 +76,33 @@ endif()
|
||||
set(CARGO_BUILD_COMMAND ${CARGO_EXECUTABLE} build ${CARGO_BUILD_TYPE_ARG} --target-dir ${RUST_BUILD_DIR})
|
||||
|
||||
# Use make amdsmi_rust to build the library
|
||||
add_custom_target(amdsmi_rust
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${AMDSMI_GENERATE_RUST_WRAPPER} AMDSMI_LIB_DIR=${PROJECT_BINARY_DIR}/src ${CARGO_BUILD_COMMAND}
|
||||
add_custom_target(
|
||||
amdsmi_rust
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${AMDSMI_GENERATE_RUST_WRAPPER} AMDSMI_LIB_DIR=${PROJECT_BINARY_DIR}/src
|
||||
${CARGO_BUILD_COMMAND}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${AMD_SMI}
|
||||
COMMENT "Build the AMD SMI Rust library"
|
||||
)
|
||||
COMMENT "Build the AMD SMI Rust library")
|
||||
|
||||
if(BUILD_RUST_EXAMPLES)
|
||||
# Determine the build command for examples if enabled
|
||||
set(CARGO_BUILD_EXAMPLES_COMMAND ${CARGO_EXECUTABLE} build ${CARGO_BUILD_TYPE_ARG} --target-dir ${RUST_BUILD_DIR} --examples)
|
||||
set(CARGO_BUILD_EXAMPLES_COMMAND ${CARGO_EXECUTABLE} build ${CARGO_BUILD_TYPE_ARG} --target-dir ${RUST_BUILD_DIR}
|
||||
--examples)
|
||||
|
||||
# Define the build command for the Rust examples
|
||||
add_custom_command(
|
||||
OUTPUT ${RUST_OUTPUT_DIR}/examples/amdsmi_get_gpu_info
|
||||
${RUST_OUTPUT_DIR}/examples/amdsmi_exporter
|
||||
OUTPUT ${RUST_OUTPUT_DIR}/examples/amdsmi_get_gpu_info ${RUST_OUTPUT_DIR}/examples/amdsmi_exporter
|
||||
COMMAND ${CMAKE_COMMAND} -E env AMDSMI_LIB_DIR=${PROJECT_BINARY_DIR}/src ${CARGO_BUILD_COMMAND}
|
||||
COMMAND ${CMAKE_COMMAND} -E env AMDSMI_LIB_DIR=${PROJECT_BINARY_DIR}/src ${CARGO_BUILD_EXAMPLES_COMMAND}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Building AMD SMI Rust examples"
|
||||
)
|
||||
add_custom_target(rust_examples ALL
|
||||
DEPENDS ${RUST_BUILD_DIR}/${CARGO_BUILD_TYPE}/examples/amdsmi_get_gpu_info
|
||||
${RUST_OUTPUT_DIR}/examples/amdsmi_exporter
|
||||
)
|
||||
COMMENT "Building AMD SMI Rust examples")
|
||||
add_custom_target(rust_examples ALL DEPENDS ${RUST_BUILD_DIR}/${CARGO_BUILD_TYPE}/examples/amdsmi_get_gpu_info
|
||||
${RUST_OUTPUT_DIR}/examples/amdsmi_exporter)
|
||||
endif()
|
||||
|
||||
# Deploy the Rust interface with source code only, as using static or dynamic library binaries is not recommended by the Rust ecosystem.
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/source.tar.gz
|
||||
DESTINATION ${RUST_WRAPPER_INSTALL_DIR}
|
||||
COMPONENT dev)
|
||||
|
||||
@@ -116,9 +110,8 @@ install(
|
||||
if(BUILD_RUST_EXAMPLES)
|
||||
install(DIRECTORY DESTINATION ${RUST_WRAPPER_INSTALL_DIR}/examples COMPONENT dev)
|
||||
install(
|
||||
FILES ${RUST_OUTPUT_DIR}/examples/amdsmi_get_gpu_info
|
||||
${RUST_OUTPUT_DIR}/examples/amdsmi_exporter
|
||||
FILES ${RUST_OUTPUT_DIR}/examples/amdsmi_get_gpu_info ${RUST_OUTPUT_DIR}/examples/amdsmi_exporter
|
||||
DESTINATION ${RUST_WRAPPER_INSTALL_DIR}/examples
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
|
||||
COMPONENT dev)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -47,16 +47,17 @@ set(INC_LIST
|
||||
"${PROJECT_SOURCE_DIR}/rocm_smi/include/rocm_smi/rocm_smi_utils.h")
|
||||
|
||||
if(ENABLE_ESMI_LIB)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi.h)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi_monitor.h)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi_utils.h)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi.h)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi_monitor.h)
|
||||
list(APPEND INC_LIST ${ESMI_INC_DIR}/e_smi/e_smi_utils.h)
|
||||
endif()
|
||||
# VERSION_* variables should be set by get_version_from_tag
|
||||
message("Package version: ${PKG_VERSION_STR}")
|
||||
|
||||
# Debian package specific variables
|
||||
# Set a default value for the package version
|
||||
get_version_from_tag("${${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_MINOR}.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT)
|
||||
get_version_from_tag("${${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_MINOR}.0.0"
|
||||
${SO_VERSION_GIT_TAG_PREFIX} GIT)
|
||||
|
||||
# VERSION_* variables should be set by get_version_from_tag
|
||||
if(${ROCM_PATCH_VERSION})
|
||||
@@ -92,10 +93,8 @@ set_property(TARGET ${AMD_SMI_TARGET} PROPERTY VERSION "${SO_VERSION_STRING}")
|
||||
## If the library is a release, strip the target library
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
if(${BUILD_SHARED_LIBS}) #stripping only for .so
|
||||
add_custom_command(
|
||||
TARGET ${AMD_SMI_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_STRIP} lib${AMD_SMI_TARGET}.so.${SO_VERSION_STRING})
|
||||
add_custom_command(TARGET ${AMD_SMI_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP}
|
||||
lib${AMD_SMI_TARGET}.so.${SO_VERSION_STRING})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -112,12 +111,11 @@ install(
|
||||
TARGETS ${AMD_SMI_TARGET}
|
||||
EXPORT amd_smiTargets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev)
|
||||
#COMPONENT ${AMD_SMI_COMPONENT})
|
||||
#COMPONENT ${AMD_SMI_COMPONENT})
|
||||
|
||||
install(
|
||||
TARGETS ${AMD_SMI_TARGET}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
COMPONENT asan)
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/include/amd_smi/amdsmi.h
|
||||
|
||||
@@ -3,16 +3,12 @@ option(INSTALL_GTEST "Install GTest (only useful if GTest is not already install
|
||||
|
||||
# Help tests find libraries at runtime
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--enable-new-dtags")
|
||||
set(CMAKE_INSTALL_RPATH
|
||||
"\$ORIGIN:\$ORIGIN/../../../lib"
|
||||
set(CMAKE_INSTALL_RPATH "\$ORIGIN:\$ORIGIN/../../../lib"
|
||||
CACHE STRING "RUNPATH for tests. Helps find libgtest.so and libamd_smi.so")
|
||||
|
||||
# Download and compile googletest
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG v1.14.0)
|
||||
FetchContent_Declare(googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG v1.14.0)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
|
||||
enable_testing()
|
||||
@@ -54,12 +50,7 @@ include_directories(${TEST} ${CMAKE_CURRENT_SOURCE_DIR}/.. ${ROCM_INC_DIR}/..)
|
||||
|
||||
# Build rules
|
||||
add_executable(${TEST} ${tstSources} ${functionalSources})
|
||||
target_link_libraries(${TEST}
|
||||
${AMD_SMI_TARGET}
|
||||
GTest::gtest_main
|
||||
c
|
||||
stdc++
|
||||
pthread)
|
||||
target_link_libraries(${TEST} ${AMD_SMI_TARGET} GTest::gtest_main c stdc++ pthread)
|
||||
|
||||
# Install tests
|
||||
install(
|
||||
@@ -73,6 +64,7 @@ install(
|
||||
COMPONENT ${TESTS_COMPONENT})
|
||||
|
||||
# Install googletest libraries with tests
|
||||
install(TARGETS gtest gtest_main
|
||||
install(
|
||||
TARGETS gtest gtest_main
|
||||
DESTINATION ${SHARE_INSTALL_PREFIX}/tests
|
||||
COMPONENT ${TESTS_COMPONENT})
|
||||
|
||||
@@ -20,9 +20,7 @@ install(
|
||||
DIRECTORY ./
|
||||
DESTINATION ${SHARE_INSTALL_PREFIX}/tests/python_unittest/
|
||||
COMPONENT ${TESTS_COMPONENT}
|
||||
USE_SOURCE_PERMISSIONS
|
||||
FILES_MATCHING
|
||||
PATTERN "*.py"
|
||||
)
|
||||
USE_SOURCE_PERMISSIONS FILES_MATCHING
|
||||
PATTERN "*.py")
|
||||
|
||||
# message(FATAL_ERROR "python lib stop")
|
||||
|
||||
@@ -9,7 +9,7 @@ FILES=$(find . -type f \( -name "CMakeLists.txt" -o -name "*.cmake" -o -name "*.
|
||||
-not -path "*/\.*" \
|
||||
-not -path "*/build/*")
|
||||
|
||||
declare -a failed_files
|
||||
failed_files=()
|
||||
|
||||
# Check if files are formatted correctly
|
||||
for file in $FILES; do
|
||||
|
||||
Verwijs in nieuw issue
Block a user