Files
rocm-systems/amdsmi_cli/CMakeLists.txt
T

81 lines
3.5 KiB
CMake
Raw Normal View History

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")
2025-05-06 05:40:18 +00:00
set(PY_CLI_INSTALL_DIR "${CMAKE_INSTALL_LIBEXECDIR}" CACHE STRING "CLI tool installation directory")
2023-03-17 05:34:24 -05:00
# populate version string
configure_file(_version.py.in ${PY_PACKAGE_DIR}/_version.py @ONLY)
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}/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-06-21 12:21:59 -05:00
${PY_PACKAGE_DIR}/Release_Notes.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}/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}/
2023-06-21 12:21:59 -05:00
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}/)
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
2023-06-21 12:21:59 -05:00
${PY_PACKAGE_DIR}/README.md
${PY_PACKAGE_DIR}/Release_Notes.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
2023-03-17 05:34:24 -05:00
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
2025-05-06 05:40:18 +00:00
COMMAND ${CMAKE_COMMAND} -E create_symlink ../${PY_CLI_INSTALL_DIR}/${PY_PACKAGE_DIR}/amdsmi_cli.py
2023-09-24 02:03:51 -05:00
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/amd-smi)
2023-03-20 13:29:28 -05:00
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/amd-smi
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT dev)