Files
rocm-systems/amdsmi_cli/CMakeLists.txt
T
Maisam Arif b6d7570bd4 Changed RPM dependencies to suggestions
Change-Id: I3d2918cc1f86733aaee41f86e1619bd22316398b
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
2023-06-22 11:44:28 -05:00

89 rivejä
3.7 KiB
CMake

message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
message(" CMake AMDSMI CLI Install ")
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")
# hard-linking instead of copying avoids unnecessarry regeneration of packaged files
add_custom_command(
OUTPUT ${PY_PACKAGE_DIR}/__init__.py
${PY_PACKAGE_DIR}/_version.py
${PY_PACKAGE_DIR}/amdsmi_cli.py
${PY_PACKAGE_DIR}/amdsmi_commands.py
${PY_PACKAGE_DIR}/amdsmi_helpers.py
${PY_PACKAGE_DIR}/amdsmi_init.py
${PY_PACKAGE_DIR}/amdsmi_logger.py
${PY_PACKAGE_DIR}/amdsmi_parser.py
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
${PY_PACKAGE_DIR}/BDF.py
${PY_PACKAGE_DIR}/README.md
${PY_PACKAGE_DIR}/Release_Notes.md
DEPENDS amdsmi_cli
COMMAND mkdir -p ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/_version.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_cli.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_commands.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_helpers.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_init.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_logger.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_parser.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_cli_exceptions.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/BDF.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/Release_Notes.md ${PY_PACKAGE_DIR}/)
# The CLI requires the python amdsmi wrapper to be installed
add_custom_target(
amdsmi_cli ALL
DEPENDS python_package
${PY_PACKAGE_DIR}/__init__.py
${PY_PACKAGE_DIR}/_version.py
${PY_PACKAGE_DIR}/amdsmi_cli.py
${PY_PACKAGE_DIR}/amdsmi_commands.py
${PY_PACKAGE_DIR}/amdsmi_helpers.py
${PY_PACKAGE_DIR}/amdsmi_init.py
${PY_PACKAGE_DIR}/amdsmi_logger.py
${PY_PACKAGE_DIR}/amdsmi_parser.py
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
${PY_PACKAGE_DIR}/BDF.py
${PY_PACKAGE_DIR}/README.md
${PY_PACKAGE_DIR}/Release_Notes.md)
install(
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}
DESTINATION ${PY_CLI_INSTALL_DIR}
COMPONENT dev)
install(
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
DESTINATION ${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}
COMPONENT dev)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
# symlink amdsmi_cli.py to amd-smi
add_custom_target(
link_amdsmi_cli ALL
DEPENDS amdsmi_cli
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
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
COMMAND ${CMAKE_COMMAND} -E create_symlink
amd-smi
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT dev)