• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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