Skip to content

Commit 0c47fff

Browse files
committed
Optionally use ICU
1 parent c835ad1 commit 0c47fff

File tree

6 files changed

+839
-12
lines changed

6 files changed

+839
-12
lines changed

.travis.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ language: cpp
33
compiler:
44
- gcc
55
- clang
6+
env:
7+
matrix:
8+
- WITH_ICU="ON"
9+
- WITH_ICU="OFF"
610
cache:
711
directories:
812
- $HOME/googletest-release-1.8.0/
@@ -22,6 +26,7 @@ addons:
2226
- git
2327
- libboost-dev
2428
- libboost-program-options-dev
29+
- libicu-dev
2530
- libprotobuf-c++
2631
- libprotobuf-dev
2732
- libtool
@@ -54,7 +59,7 @@ before_install:
5459
fi
5560
install:
5661
- mkdir build && cd build
57-
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$ROOT_TRAVIS_DIR/sentencepiece -DGTEST_ROOT=$ROOT_TRAVIS_DIR/googletest-release-1.8.0/install/ ..
62+
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$ROOT_TRAVIS_DIR/sentencepiece -DGTEST_ROOT=$ROOT_TRAVIS_DIR/googletest-release-1.8.0/install/ -DWITH_ICU=$WITH_ICU ..
5863
- make
5964
script:
6065
- test/onmt_tokenizer_test ../test/data

CMakeLists.txt

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
cmake_minimum_required(VERSION 3.1.0)
22
project(OpenNMTTokenizer)
33

4+
option(WITH_ICU "Compile with ICU" OFF)
45
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
56

67
set(CMAKE_CXX_STANDARD 11)
8+
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
79

810
if(MSVC)
911
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
@@ -35,12 +37,20 @@ set(SOURCES
3537
src/SpaceTokenizer.cc
3638
src/SubwordEncoder.cc
3739
src/Tokenizer.cc
38-
src/unicode/Data.cc
3940
src/unicode/Unicode.cc
4041
)
4142

4243
list(APPEND LINK_LIBRARIES "")
4344

45+
if (WITH_ICU)
46+
find_package(ICU REQUIRED)
47+
add_definitions(-DWITH_ICU)
48+
list(APPEND INCLUDE_DIRECTORIES ${ICU_INCLUDE_DIRS})
49+
list(APPEND LINK_LIBRARIES ${ICU_LIBRARIES})
50+
else()
51+
list(APPEND SOURCES src/unicode/Data.cc)
52+
endif()
53+
4454
find_library(SP_LIBRARY NAMES sentencepiece)
4555
find_path(SP_INCLUDE_DIR NAMES sentencepiece_processor.h)
4656

0 commit comments

Comments
 (0)