1set(PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}) 2 3if(ENABLE_GITEE OR ENABLE_GITEE_EULER) # Channel GITEE_EULER is NOT supported now, use GITEE instead. 4 if(PYTHON_VERSION MATCHES "3.7") 5 set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.4.3.tar.gz") 6 set(SHA256 "182cf9e2c5a7ae6f03f84cf17e826d7aa2b02aa2f3705db684dfe686c0278b36") 7 elseif(PYTHON_VERSION MATCHES "3.8") 8 set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.6.1.tar.gz") 9 set(SHA256 "c840509be94ac97216c3b4a3ed9f3fdba9948dbe38c16fcfaee3acc6dc93ed0e") 10 elseif(PYTHON_VERSION MATCHES "3.9") 11 set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.6.1.tar.gz") 12 set(SHA256 "c840509be94ac97216c3b4a3ed9f3fdba9948dbe38c16fcfaee3acc6dc93ed0e") 13 elseif(PYTHON_VERSION MATCHES "3.10") 14 set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.6.1.tar.gz") 15 set(SHA256 "c840509be94ac97216c3b4a3ed9f3fdba9948dbe38c16fcfaee3acc6dc93ed0e") 16 else() 17 message("Could not find Python versions 3.7 - 3.10") 18 return() 19 endif() 20else() 21 if(PYTHON_VERSION MATCHES "3.7") 22 set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz") 23 set(SHA256 "1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d") 24 elseif(PYTHON_VERSION MATCHES "3.8") 25 set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.6.1.tar.gz") 26 set(SHA256 "cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a") 27 elseif(PYTHON_VERSION MATCHES "3.9") 28 set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.6.1.tar.gz") 29 set(SHA256 "cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a") 30 elseif(PYTHON_VERSION MATCHES "3.10") 31 set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.6.1.tar.gz") 32 set(SHA256 "cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a") 33 else() 34 message("Could not find Python versions 3.7 - 3.10") 35 return() 36 endif() 37endif() 38set(pybind11_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") 39set(pybind11_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") 40set(pybind11_patch ${TOP_DIR}/third_party/patch/pybind11/pybind11.patch001) 41 42if(PYTHON_VERSION MATCHES "3.7") 43 mindspore_add_pkg(pybind11 44 VER 2.4.3 45 URL ${REQ_URL} 46 SHA256 ${SHA256} 47 CMAKE_OPTION -DPYBIND11_TEST=OFF -DPYBIND11_LTO_CXX_FLAGS=FALSE 48 ) 49elseif(PYTHON_VERSION MATCHES "3.8") 50 mindspore_add_pkg(pybind11 51 VER 2.6.1 52 URL ${REQ_URL} 53 SHA256 ${SHA256} 54 CMAKE_OPTION -DPYBIND11_TEST=OFF -DPYBIND11_LTO_CXX_FLAGS=FALSE 55 ) 56else() 57 mindspore_add_pkg(pybind11 58 VER 2.6.1 59 URL ${REQ_URL} 60 SHA256 ${SHA256} 61 PATCHES ${pybind11_patch} 62 CMAKE_OPTION -DPYBIND11_TEST=OFF -DPYBIND11_LTO_CXX_FLAGS=FALSE 63 ) 64endif() 65 66include_directories(${pybind11_INC}) 67find_package(pybind11 REQUIRED) 68set_property(TARGET pybind11::module PROPERTY IMPORTED_GLOBAL TRUE) 69add_library(mindspore::pybind11_module ALIAS pybind11::module) 70