Skip to content

Commit c0d8a07

Browse files
committed
Fix a lot of training tool to work on windows with static build.
1 parent b1d0cb9 commit c0d8a07

File tree

2 files changed

+77
-46
lines changed

2 files changed

+77
-46
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,9 @@ set(tesseract_src ${tesseract_src}
193193
)
194194

195195
add_library (tesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr})
196+
if (NOT STATIC)
196197
target_compile_definitions (tesseract PUBLIC -DTESS_EXPORTS)
198+
endif()
197199
target_link_libraries (tesseract ${Leptonica_LIBRARIES} ${LIB_Ws2_32} ${LIB_pthread})
198200
set_target_properties (tesseract PROPERTIES OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR})
199201
set_target_properties (tesseract PROPERTIES DEBUG_OUTPUT_NAME tesseract${VERSION_MAJOR}${VERSION_MINOR}d)
@@ -214,8 +216,6 @@ target_link_libraries (tesseractmain tesseract)
214216

215217
########################################
216218

217-
if (BUILD_TRAINING)
218219
add_subdirectory(training)
219-
endif()
220220

221221
###############################################################################

training/CMakeLists.txt

+75-44
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# tesseract
33
#
44

5-
add_definitions(-DPANGO_ENABLE_ENGINE)
5+
if (STATIC)
66

77
########################################
88
# LIBRARY tessopt
@@ -13,30 +13,28 @@ project_group (tessopt "Training Tools")
1313

1414

1515
########################################
16-
# LIBRARY training
16+
# LIBRARY common_training
1717
########################################
1818

19-
set(training_src
20-
boxchar.cpp commandlineflags.cpp commontraining.cpp degradeimage.cpp
21-
fileio.cpp ligature_table.cpp normstrngs.cpp pango_font_info.cpp
22-
stringrenderer.cpp tlog.cpp unicharset_training_utils.cpp
19+
set(common_training_src
20+
commandlineflags.cpp
21+
commontraining.cpp
2322
)
24-
set(training_hdr
25-
boxchar.h commandlineflags.h commontraining.h degradeimage.h
26-
fileio.h icuerrorcode.h ligature_table.h normstrngs.h
27-
mergenf.h pango_font_info.h stringrenderer.h
28-
tessopt.h tlog.h unicharset_training_utils.h util.h
23+
set(common_training_hdr
24+
commandlineflags.h
25+
commontraining.h
2926
)
30-
add_library (training ${training_src} ${training_hdr})
31-
project_group (training "Training Tools")
27+
add_library (common_training ${common_training_src} ${common_training_hdr})
28+
target_link_libraries (common_training tessopt)
29+
project_group (common_training "Training Tools")
3230

3331

3432
########################################
3533
# EXECUTABLE ambiguous_words
3634
########################################
3735

3836
add_executable (ambiguous_words ambiguous_words.cpp)
39-
target_link_libraries (ambiguous_words tesseract training tessopt)
37+
target_link_libraries (ambiguous_words tesseract)
4038
project_group (ambiguous_words "Training Tools")
4139

4240

@@ -45,7 +43,7 @@ project_group (ambiguous_words "Training Tools")
4543
########################################
4644

4745
add_executable (classifier_tester classifier_tester.cpp)
48-
target_link_libraries (classifier_tester tesseract training tessopt)
46+
target_link_libraries (classifier_tester tesseract common_training)
4947
project_group (classifier_tester "Training Tools")
5048

5149

@@ -63,7 +61,7 @@ project_group (combine_tessdata "Training Tools")
6361
########################################
6462

6563
add_executable (cntraining cntraining.cpp)
66-
target_link_libraries (cntraining tesseract training tessopt)
64+
target_link_libraries (cntraining tesseract common_training)
6765
project_group (cntraining "Training Tools")
6866

6967

@@ -72,7 +70,7 @@ project_group (cntraining "Training Tools")
7270
########################################
7371

7472
add_executable (dawg2wordlist dawg2wordlist.cpp)
75-
target_link_libraries (dawg2wordlist tesseract training tessopt)
73+
target_link_libraries (dawg2wordlist tesseract)
7674
project_group (dawg2wordlist "Training Tools")
7775

7876

@@ -81,60 +79,93 @@ project_group (dawg2wordlist "Training Tools")
8179
########################################
8280

8381
add_executable (mftraining mftraining.cpp mergenf.cpp)
84-
target_link_libraries (mftraining tesseract training tessopt)
82+
target_link_libraries (mftraining tesseract common_training)
8583
project_group (mftraining "Training Tools")
8684

8785

8886
########################################
89-
# EXECUTABLE set_unicharset_properties
87+
# EXECUTABLE shapeclustering
9088
########################################
9189

92-
add_executable (set_unicharset_properties set_unicharset_properties.cpp)
93-
target_link_libraries (set_unicharset_properties tesseract training tessopt ${ICU_LIBRARIES})
94-
project_group (set_unicharset_properties "Training Tools")
90+
add_executable (shapeclustering shapeclustering.cpp)
91+
target_link_libraries (shapeclustering tesseract common_training)
92+
project_group (shapeclustering "Training Tools")
9593

9694

9795
########################################
98-
# EXECUTABLE shapeclustering
96+
# EXECUTABLE unicharset_extractor
9997
########################################
10098

101-
add_executable (shapeclustering shapeclustering.cpp)
102-
target_link_libraries (shapeclustering tesseract training tessopt)
103-
project_group (shapeclustering "Training Tools")
99+
add_executable (unicharset_extractor unicharset_extractor.cpp)
100+
target_link_libraries (unicharset_extractor tesseract tessopt)
101+
project_group (unicharset_extractor "Training Tools")
104102

105103

106104
########################################
107-
# EXECUTABLE text2image
105+
# EXECUTABLE wordlist2dawg
108106
########################################
109107

110-
add_executable (text2image text2image.cpp)
111-
target_link_libraries (text2image tesseract training tessopt
112-
${ICU_LIBRARIES}
113-
${Pango_LIBRARIES}
114-
${Cairo_LIBRARIES}
115-
${PangoCairo_LIBRARIES}
116-
${PangoFt2_LIBRARIES}
117-
${FontConfig_LIBRARIES}
108+
add_executable (wordlist2dawg wordlist2dawg.cpp)
109+
target_link_libraries (wordlist2dawg tesseract)
110+
project_group (wordlist2dawg "Training Tools")
111+
112+
113+
endif(STATIC)
114+
115+
###############################################################################
116+
# UNCHECKED
117+
###############################################################################
118+
119+
if (BUILD_TRAINING)
120+
121+
add_definitions(-DPANGO_ENABLE_ENGINE)
122+
123+
########################################
124+
# LIBRARY training ?
125+
########################################
126+
127+
set(training_src
128+
boxchar.cpp commandlineflags.cpp commontraining.cpp degradeimage.cpp
129+
fileio.cpp ligature_table.cpp normstrngs.cpp pango_font_info.cpp
130+
stringrenderer.cpp tlog.cpp unicharset_training_utils.cpp
118131
)
119-
project_group (text2image "Training Tools")
132+
set(training_hdr
133+
boxchar.h commandlineflags.h commontraining.h degradeimage.h
134+
fileio.h icuerrorcode.h ligature_table.h normstrngs.h
135+
mergenf.h pango_font_info.h stringrenderer.h
136+
tessopt.h tlog.h unicharset_training_utils.h util.h
137+
)
138+
add_library (training ${training_src} ${training_hdr})
139+
project_group (training "Training Tools")
120140

121141

122142
########################################
123-
# EXECUTABLE unicharset_extractor
143+
# EXECUTABLE set_unicharset_properties ?
124144
########################################
125145

126-
add_executable (unicharset_extractor unicharset_extractor.cpp)
127-
target_link_libraries (unicharset_extractor tesseract tessopt)
128-
project_group (unicharset_extractor "Training Tools")
146+
add_executable (set_unicharset_properties
147+
set_unicharset_properties.cpp
148+
unicharset_training_utils.cpp
149+
)
150+
target_link_libraries (set_unicharset_properties tesseract common_training ${ICU_LIBRARIES})
151+
project_group (set_unicharset_properties "Training Tools")
129152

130153

131154
########################################
132-
# EXECUTABLE wordlist2dawg
155+
# EXECUTABLE text2image ?
133156
########################################
134157

135-
add_executable (wordlist2dawg wordlist2dawg.cpp)
136-
target_link_libraries (wordlist2dawg tesseract tessopt)
137-
project_group (wordlist2dawg "Training Tools")
158+
add_executable (text2image text2image.cpp)
159+
target_link_libraries (text2image tesseract training tessopt
160+
${ICU_LIBRARIES}
161+
${Pango_LIBRARIES}
162+
${Cairo_LIBRARIES}
163+
${PangoCairo_LIBRARIES}
164+
${PangoFt2_LIBRARIES}
165+
${FontConfig_LIBRARIES}
166+
)
167+
project_group (text2image "Training Tools")
138168

169+
endif(BUILD_TRAINING)
139170

140171
###############################################################################

0 commit comments

Comments
 (0)