1if(ENABLE_GITEE_EULER) 2 set(GIT_REPOSITORY "https://gitee.com/src-openeuler/sentencepiece.git") 3 set(GIT_TAG "master") 4 set(SHA256 "4f88df28544b5f1a351f3dbf6b6413b8") 5 set(SENTENCEPIECE_SRC "${TOP_DIR}/build/mindspore/_deps/sentencepiece-src") 6 __download_pkg_with_git(sentencepiece ${GIT_REPOSITORY} ${GIT_TAG} ${SHA256}) 7 execute_process(COMMAND tar -xf ${SENTENCEPIECE_SRC}/v0.1.92.tar.gz --strip-components 1 -C ${SENTENCEPIECE_SRC}) 8else() 9if(ENABLE_GITEE) 10 set(REQ_URL "https://gitee.com/mirrors/sentencepiece/repository/archive/v0.1.92.tar.gz") 11 set(SHA256 "650325f998fb97f360bfa886a761fb5cd34d51d684b26ea53edcb5a0d9fa7601") 12else() 13 set(REQ_URL "https://github.com/google/sentencepiece/archive/v0.1.92.tar.gz") 14 set(SHA256 "6e9863851e6277862083518cc9f96211f334215d596fc8c65e074d564baeef0c") 15endif() 16endif() 17 18 19if(WIN32) 20 if(MSVC) 21 set(sentencepiece_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 /EHsc") 22 else() 23 set(sentencepiece_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -Wno-stringop-overflow \ 24 -Wno-format-extra-args -Wno-format") 25 endif() 26 27 set(sentencepiece_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") 28 if(MSVC) 29 mindspore_add_pkg(sentencepiece 30 VER 0.1.92 31 LIBS sentencepiece sentencepiece_train 32 URL ${REQ_URL} 33 CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DSPM_USE_BUILTIN_PROTOBUF=ON -DSPM_ENABLE_SHARED=OFF 34 SHA256 ${SHA256} 35 PATCHES ${CMAKE_SOURCE_DIR}/third_party/patch/sentencepiece/sentencepiece_msvc.patch001 36 ) 37 else() 38 mindspore_add_pkg(sentencepiece 39 VER 0.1.92 40 LIBS sentencepiece sentencepiece_train 41 URL ${REQ_URL} 42 CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DSPM_USE_BUILTIN_PROTOBUF=ON -DSPM_ENABLE_SHARED=OFF 43 SHA256 ${SHA256} 44 ) 45 endif() 46else() 47 set(sentencepiece_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -Wno-sign-compare") 48 set(sentencepiece_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") 49 if(ENABLE_GLIBCXX) 50 mindspore_add_pkg(sentencepiece 51 VER 0.1.92 52 LIBS sentencepiece sentencepiece_train 53 URL ${REQ_URL} 54 CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DSPM_USE_BUILTIN_PROTOBUF=OFF -DSPM_ENABLE_SHARED=OFF 55 -DPROTOBUF_INC=${protobuf_INC} -DCMAKE_CXX_STANDARD=11 56 SHA256 ${SHA256} 57 PATCHES ${CMAKE_SOURCE_DIR}/third_party/patch/sentencepiece/sentencepiece.patch001_cpu 58 ) 59 else() 60 mindspore_add_pkg(sentencepiece 61 VER 0.1.92 62 LIBS sentencepiece sentencepiece_train 63 URL ${REQ_URL} 64 CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DSPM_USE_BUILTIN_PROTOBUF=OFF -DSPM_ENABLE_SHARED=OFF 65 -DPROTOBUF_INC=${protobuf_INC} 66 SHA256 ${SHA256} 67 PATCHES ${TOP_DIR}/third_party/patch/sentencepiece/sentencepiece.patch001 68 ) 69 endif() 70endif() 71include_directories(${sentencepiece_INC}) 72add_library(mindspore::sentencepiece ALIAS sentencepiece::sentencepiece) 73add_library(mindspore::sentencepiece_train ALIAS sentencepiece::sentencepiece_train) 74 75