CMAKE - Format with cmake-format
Change-Id: I5b86b7b83e3d151c3d6e1c216ecb28f1313d538a
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
[ROCm/amdsmi commit: 42c77a5912]
Cette révision appartient à :
révisé par
Arif, Maisam
Parent
bc0567f017
révision
c6c01ee675
@@ -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()
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur