Files
enginex-mlu590-vllm/CMakeLists.txt

77 lines
2.0 KiB
CMake
Raw Permalink Normal View History

2026-04-24 09:50:34 +08:00
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-MLU project
cmake_minimum_required(VERSION 3.16)
project(vllm_mlu_C)
function(detect_debian10)
if(EXISTS "/etc/os-release")
file(READ "/etc/os-release" os_release)
if(os_release MATCHES "PRETTY_NAME=\"Debian GNU/Linux 10" OR
os_release MATCHES "VERSION_ID=\"10")
set(DEBIAN_10 TRUE PARENT_SCOPE)
message(STATUS "Detected Debian 10 (buster)")
endif()
endif()
endfunction()
detect_debian10()
if(DEBIAN_10)
find_program(GCC_PATH "gcc" PATHS "/usr/local/bin")
if(GCC_PATH)
message(STATUS "Using GCC on Debian 10: ${GCC_PATH}")
set(CMAKE_C_COMPILER "${GCC_PATH}")
set(CMAKE_CXX_COMPILER "/usr/local/bin/g++")
else()
message(WARNING "Debian 10 detected but gcc not found!")
endif()
endif()
set(CMAKE_CXX_STANDARD 17)
include(${CMAKE_CURRENT_LIST_DIR}/cmake/utils.cmake)
# Suppress potential warnings about unused manually-specified variables
set(ignoreMe "${VLLM_PYTHON_PATH}")
set(PYTHON_SUPPORTED_VERSIONS "3.9" "3.10" "3.11" "3.12")
find_package(pybind11 REQUIRED)
append_cmake_prefix_path("torch" "torch.utils.cmake_prefix_path")
set(VLLM_MLU_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}")
find_package(Torch REQUIRED)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRINGS "Build type Release/Debug (default Release)" FORCE)
endif()
file(GLOB VLLM_MLU_SRC ${CMAKE_CURRENT_SOURCE_DIR}/csrc/*.cpp)
include_directories(
${pybind11_INCLUDE_DIRS}
${PYTHON_INCLUDE_PATH}
${TORCH_INCLUDE_DIRS}
$ENV{NEUWARE_HOME}/include
)
pybind11_add_module(vllm_mlu_C ${VLLM_MLU_SRC})
target_link_directories(
vllm_mlu_C
PRIVATE
$ENV{NEUWARE_HOME}/lib64
)
target_link_libraries(
vllm_mlu_C
PUBLIC
${TORCH_LIBRARIES}
libcndrv.so
)
target_link_options(vllm_mlu_C PRIVATE "-Wl,-rpath,$ORIGIN:$ORIGIN/lib")
install(TARGETS vllm_mlu_C DESTINATION ${VLLM_MLU_INSTALL_PATH})