Files
rocm-systems/amdsmi_cli/CMakeLists.txt
T

86 строки
3.6 KiB
CMake
Исходник Обычный вид История

2023-03-17 05:34:24 -05:00
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
message(" CMake AMDSMI CLI Install ")
message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
# Set CLI Build Directory
2023-03-20 13:29:28 -05:00
set(PY_PACKAGE_DIR "amdsmi_cli")
set(PY_CLI_INSTALL_DIR
"${CMAKE_INSTALL_LIBEXECDIR}" CACHE STRING
"CLI tool installation directory")
2023-03-17 05:34:24 -05:00
2023-03-20 13:29:28 -05:00
# hard-linking instead of copying avoids unnecessarry regeneration of packaged files
2023-03-17 05:34:24 -05:00
add_custom_command(
2023-03-20 13:29:28 -05:00
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
2023-03-17 14:58:50 +01:00
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
2023-03-20 13:29:28 -05:00
${PY_PACKAGE_DIR}/BDF.py
2023-04-24 21:34:44 -05:00
${PY_PACKAGE_DIR}/README.md
2023-03-17 05:34:24 -05:00
DEPENDS amdsmi_cli
2023-03-20 13:29:28 -05:00
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}/
2023-03-17 14:58:50 +01:00
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_cli_exceptions.py ${PY_PACKAGE_DIR}/
2023-04-24 21:34:44 -05:00
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/BDF.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${PY_PACKAGE_DIR}/)
2023-03-17 05:34:24 -05:00
2023-03-20 13:29:28 -05:00
# 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
2023-03-17 14:58:50 +01:00
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
2023-04-24 21:34:44 -05:00
${PY_PACKAGE_DIR}/BDF.py
${PY_PACKAGE_DIR}/README.md)
2023-03-17 05:34:24 -05:00
install(
2023-03-20 13:29:28 -05:00
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}
DESTINATION ${PY_CLI_INSTALL_DIR}
COMPONENT dev)
2023-03-20 13:29:28 -05:00
2023-03-17 05:34:24 -05:00
install(
2023-03-20 13:29:28 -05:00
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
DESTINATION ${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}
COMPONENT dev)
2023-03-17 05:34:24 -05:00
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
2023-03-20 13:29:28 -05:00
# symlink amdsmi_cli.py to amd-smi
2023-03-17 05:34:24 -05:00
add_custom_target(
link_amdsmi_cli ALL
2023-03-20 13:29:28 -05:00
DEPENDS amdsmi_cli
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi
2023-03-17 05:34:24 -05:00
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E create_symlink
2023-03-20 13:29:28 -05:00
../${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/amd-smi
2023-03-17 05:34:24 -05:00
COMMAND ${CMAKE_COMMAND} -E create_symlink
2023-03-20 13:29:28 -05:00
amd-smi
2023-03-17 05:34:24 -05:00
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi)
2023-03-20 13:29:28 -05:00
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
${CMAKE_CURRENT_BINARY_DIR}/bin/gpuv-smi
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT dev)