diff --git a/audio/CMakeLists.txt b/audio/CMakeLists.txt index 956c2aa4a..461982857 100644 --- a/audio/CMakeLists.txt +++ b/audio/CMakeLists.txt @@ -51,7 +51,8 @@ set(THIRD_PARTY_PATH ${fc_patch}) include(openblas) set(PYBIND11_PYTHON_VERSION ${PY_VERSION}) -include(pybind) +include(cmake/pybind.cmake) +include_directories(${PYTHON_INCLUDE_DIR}) # packages find_package(Python3 COMPONENTS Interpreter Development) diff --git a/audio/cmake/pybind.cmake b/audio/cmake/pybind.cmake new file mode 100644 index 000000000..0ce1f57f4 --- /dev/null +++ b/audio/cmake/pybind.cmake @@ -0,0 +1,42 @@ +#the pybind11 is from:https://github.com/pybind/pybind11 +# Copyright (c) 2016 Wenzel Jakob , All rights reserved. + +SET(PYBIND_ZIP "v2.10.0.zip") +SET(LOCAL_PYBIND_ZIP ${FETCHCONTENT_BASE_DIR}/${PYBIND_ZIP}) +SET(PYBIND_SRC ${FETCHCONTENT_BASE_DIR}/pybind11) +SET(DOWNLOAD_URL "https://paddleaudio.bj.bcebos.com/build/v2.10.0.zip") +SET(PYBIND_TIMEOUT 600 CACHE STRING "Timeout in seconds when downloading pybind.") + +IF(NOT EXISTS ${LOCAL_PYBIND_ZIP}) + FILE(DOWNLOAD ${DOWNLOAD_URL} + ${LOCAL_PYBIND_ZIP} + TIMEOUT ${PYBIND_TIMEOUT} + STATUS ERR + SHOW_PROGRESS + ) + + IF(ERR EQUAL 0) + MESSAGE(STATUS "download pybind success") + ELSE() + MESSAGE(FATAL_ERROR "download pybind fail") + ENDIF() +ENDIF() + +IF(NOT EXISTS ${PYBIND_SRC}) + EXECUTE_PROCESS( + COMMAND ${CMAKE_COMMAND} -E tar xfz ${LOCAL_PYBIND_ZIP} + WORKING_DIRECTORY ${FETCHCONTENT_BASE_DIR} + RESULT_VARIABLE tar_result + ) + + file(RENAME ${FETCHCONTENT_BASE_DIR}/pybind11-2.10.0 ${PYBIND_SRC}) + + IF (tar_result MATCHES 0) + MESSAGE(STATUS "unzip pybind success") + ELSE() + MESSAGE(FATAL_ERROR "unzip pybind fail") + ENDIF() + +ENDIF() + +include_directories(${PYBIND_SRC}/include) diff --git a/audio/tools/setup_helpers/extension.py b/audio/tools/setup_helpers/extension.py index b7f32198e..5559f53ba 100644 --- a/audio/tools/setup_helpers/extension.py +++ b/audio/tools/setup_helpers/extension.py @@ -83,8 +83,8 @@ class CMakeBuild(build_ext): # f"-DCMAKE_PREFIX_PATH={torch.utils.cmake_prefix_path}", f"-DCMAKE_INSTALL_PREFIX={extdir}", "-DCMAKE_VERBOSE_MAKEFILE=ON", - f"-DPython_INCLUDE_DIR={distutils.sysconfig.get_python_inc()}", - f"-DPython_LIBRARY={distutils.sysconfig.get_config_var('LIBDIR')}", + f"-DPYTHON_INCLUDE_DIR={distutils.sysconfig.get_python_inc()}", + f"-DPYTHON_LIBRARY={distutils.sysconfig.get_config_var('LIBDIR')}", f"-DBUILD_SOX:BOOL={'ON' if _BUILD_SOX else 'OFF'}", f"-DBUILD_MAD:BOOL={'ON' if _BUILD_MAD else 'OFF'}", # f"-DBUILD_KALDI:BOOL={'ON' if _BUILD_KALDI else 'OFF'}",