Files
paddlepaddle--paddle/cmake/external/hml.cmake
T
2026-07-13 12:40:42 +08:00

69 lines
2.0 KiB
CMake

include(ExternalProject)
set(HML_INSTALL_DIR ${THIRD_PARTY_PATH}/install/hml)
set(HML_INC_DIR ${HML_INSTALL_DIR}/include)
set(HML_LIB_DIR ${HML_INSTALL_DIR}/lib)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${HML_LIB_DIR}")
set(HML_DOWNLOAD_DIR ${PADDLE_SOURCE_DIR}/third_party/hml/${CMAKE_SYSTEM_NAME})
set(HML_FILE
"hml.tgz"
CACHE STRING "" FORCE)
set(HML_URL
"https://download.sourcefind.cn:65024/directlink/8/c86-devkit/previous-release/hml/hml-1.6.2-part/${HML_FILE}"
CACHE STRING "" FORCE)
set(HML_URL_MD5 "a7f855d973cde3e125ca31937b61c7c9")
set(HML_LIB ${HML_LIB_DIR}/libhml_rt.so)
set(HML_SHARED_LIB ${HML_LIB_DIR}/libhml_rt.so)
set(HML_PROJECT "extern_hml")
message(STATUS "HML_FILE: ${HML_FILE}, HML_URL: ${HML_URL}")
set(HML_PREFIX_DIR ${THIRD_PARTY_PATH}/hml)
function(download_hml)
message(STATUS "Downloading ${HML_URL} to ${HML_DOWNLOAD_DIR}/${HML_FILE}")
file(
DOWNLOAD ${HML_URL} ${HML_DOWNLOAD_DIR}/${HML_FILE}
EXPECTED_MD5 ${HML_URL_MD5}
STATUS ERR)
if(ERR EQUAL 0)
message(STATUS "Download ${HML_FILE} success")
else()
message(
FATAL_ERROR
"Download failed, error: ${ERR}\n You can try downloading ${HML_FILE} again"
)
endif()
endfunction()
if(EXISTS ${HML_DOWNLOAD_DIR}/${HML_FILE})
file(MD5 ${HML_DOWNLOAD_DIR}/${HML_FILE} HML_MD5)
if(NOT HML_MD5 STREQUAL HML_URL_MD5)
file(REMOVE_RECURSE ${HML_PREFIX_DIR})
file(REMOVE_RECURSE ${HML_INSTALL_DIR})
download_hml()
endif()
else()
download_hml()
endif()
ExternalProject_Add(
${HML_PROJECT}
${EXTERNAL_PROJECT_LOG_ARGS}
URL ${HML_DOWNLOAD_DIR}/${HML_FILE}
URL_MD5 ${HML_URL_MD5}
DOWNLOAD_DIR ${HML_DOWNLOAD_DIR}
SOURCE_DIR ${HML_INSTALL_DIR}
PREFIX ${HML_PREFIX_DIR}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${HML_LIB})
include_directories(${HML_INC_DIR})
add_library(hml SHARED IMPORTED GLOBAL)
set_property(TARGET hml PROPERTY IMPORTED_LOCATION ${HML_LIB})
add_dependencies(hml ${HML_PROJECT})