1#
2# Copyright 2009-2017 Alibaba Cloud All rights reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
18
19set(ocr_public_header
20	include/alibabacloud/ocr/OcrClient.h
21	include/alibabacloud/ocr/OcrExport.h )
22
23set(ocr_public_header_model
24	include/alibabacloud/ocr/model/DetectCardScreenshotRequest.h
25	include/alibabacloud/ocr/model/DetectCardScreenshotResult.h
26	include/alibabacloud/ocr/model/GetAsyncJobResultRequest.h
27	include/alibabacloud/ocr/model/GetAsyncJobResultResult.h
28	include/alibabacloud/ocr/model/RecognizeAccountPageRequest.h
29	include/alibabacloud/ocr/model/RecognizeAccountPageResult.h
30	include/alibabacloud/ocr/model/RecognizeBankCardRequest.h
31	include/alibabacloud/ocr/model/RecognizeBankCardResult.h
32	include/alibabacloud/ocr/model/RecognizeBusinessCardRequest.h
33	include/alibabacloud/ocr/model/RecognizeBusinessCardResult.h
34	include/alibabacloud/ocr/model/RecognizeBusinessLicenseRequest.h
35	include/alibabacloud/ocr/model/RecognizeBusinessLicenseResult.h
36	include/alibabacloud/ocr/model/RecognizeCharacterRequest.h
37	include/alibabacloud/ocr/model/RecognizeCharacterResult.h
38	include/alibabacloud/ocr/model/RecognizeChinapassportRequest.h
39	include/alibabacloud/ocr/model/RecognizeChinapassportResult.h
40	include/alibabacloud/ocr/model/RecognizeDriverLicenseRequest.h
41	include/alibabacloud/ocr/model/RecognizeDriverLicenseResult.h
42	include/alibabacloud/ocr/model/RecognizeDrivingLicenseRequest.h
43	include/alibabacloud/ocr/model/RecognizeDrivingLicenseResult.h
44	include/alibabacloud/ocr/model/RecognizeIdentityCardRequest.h
45	include/alibabacloud/ocr/model/RecognizeIdentityCardResult.h
46	include/alibabacloud/ocr/model/RecognizeLicensePlateRequest.h
47	include/alibabacloud/ocr/model/RecognizeLicensePlateResult.h
48	include/alibabacloud/ocr/model/RecognizePassportMRZRequest.h
49	include/alibabacloud/ocr/model/RecognizePassportMRZResult.h
50	include/alibabacloud/ocr/model/RecognizePoiNameRequest.h
51	include/alibabacloud/ocr/model/RecognizePoiNameResult.h
52	include/alibabacloud/ocr/model/RecognizeQrCodeRequest.h
53	include/alibabacloud/ocr/model/RecognizeQrCodeResult.h
54	include/alibabacloud/ocr/model/RecognizeStampRequest.h
55	include/alibabacloud/ocr/model/RecognizeStampResult.h
56	include/alibabacloud/ocr/model/RecognizeTableRequest.h
57	include/alibabacloud/ocr/model/RecognizeTableResult.h
58	include/alibabacloud/ocr/model/RecognizeTakeoutOrderRequest.h
59	include/alibabacloud/ocr/model/RecognizeTakeoutOrderResult.h
60	include/alibabacloud/ocr/model/RecognizeTaxiInvoiceRequest.h
61	include/alibabacloud/ocr/model/RecognizeTaxiInvoiceResult.h
62	include/alibabacloud/ocr/model/RecognizeTrainTicketRequest.h
63	include/alibabacloud/ocr/model/RecognizeTrainTicketResult.h
64	include/alibabacloud/ocr/model/RecognizeVATInvoiceRequest.h
65	include/alibabacloud/ocr/model/RecognizeVATInvoiceResult.h
66	include/alibabacloud/ocr/model/RecognizeVINCodeRequest.h
67	include/alibabacloud/ocr/model/RecognizeVINCodeResult.h
68	include/alibabacloud/ocr/model/RecognizeVerificationcodeRequest.h
69	include/alibabacloud/ocr/model/RecognizeVerificationcodeResult.h
70	include/alibabacloud/ocr/model/TrimDocumentRequest.h
71	include/alibabacloud/ocr/model/TrimDocumentResult.h )
72
73set(ocr_src
74	src/OcrClient.cc
75	src/model/DetectCardScreenshotRequest.cc
76	src/model/DetectCardScreenshotResult.cc
77	src/model/GetAsyncJobResultRequest.cc
78	src/model/GetAsyncJobResultResult.cc
79	src/model/RecognizeAccountPageRequest.cc
80	src/model/RecognizeAccountPageResult.cc
81	src/model/RecognizeBankCardRequest.cc
82	src/model/RecognizeBankCardResult.cc
83	src/model/RecognizeBusinessCardRequest.cc
84	src/model/RecognizeBusinessCardResult.cc
85	src/model/RecognizeBusinessLicenseRequest.cc
86	src/model/RecognizeBusinessLicenseResult.cc
87	src/model/RecognizeCharacterRequest.cc
88	src/model/RecognizeCharacterResult.cc
89	src/model/RecognizeChinapassportRequest.cc
90	src/model/RecognizeChinapassportResult.cc
91	src/model/RecognizeDriverLicenseRequest.cc
92	src/model/RecognizeDriverLicenseResult.cc
93	src/model/RecognizeDrivingLicenseRequest.cc
94	src/model/RecognizeDrivingLicenseResult.cc
95	src/model/RecognizeIdentityCardRequest.cc
96	src/model/RecognizeIdentityCardResult.cc
97	src/model/RecognizeLicensePlateRequest.cc
98	src/model/RecognizeLicensePlateResult.cc
99	src/model/RecognizePassportMRZRequest.cc
100	src/model/RecognizePassportMRZResult.cc
101	src/model/RecognizePoiNameRequest.cc
102	src/model/RecognizePoiNameResult.cc
103	src/model/RecognizeQrCodeRequest.cc
104	src/model/RecognizeQrCodeResult.cc
105	src/model/RecognizeStampRequest.cc
106	src/model/RecognizeStampResult.cc
107	src/model/RecognizeTableRequest.cc
108	src/model/RecognizeTableResult.cc
109	src/model/RecognizeTakeoutOrderRequest.cc
110	src/model/RecognizeTakeoutOrderResult.cc
111	src/model/RecognizeTaxiInvoiceRequest.cc
112	src/model/RecognizeTaxiInvoiceResult.cc
113	src/model/RecognizeTrainTicketRequest.cc
114	src/model/RecognizeTrainTicketResult.cc
115	src/model/RecognizeVATInvoiceRequest.cc
116	src/model/RecognizeVATInvoiceResult.cc
117	src/model/RecognizeVINCodeRequest.cc
118	src/model/RecognizeVINCodeResult.cc
119	src/model/RecognizeVerificationcodeRequest.cc
120	src/model/RecognizeVerificationcodeResult.cc
121	src/model/TrimDocumentRequest.cc
122	src/model/TrimDocumentResult.cc )
123
124add_library(ocr ${LIB_TYPE}
125	${ocr_public_header}
126	${ocr_public_header_model}
127	${ocr_src})
128
129set_target_properties(ocr
130	PROPERTIES
131	LINKER_LANGUAGE CXX
132	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
133	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
134	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
135	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}ocr
136	)
137
138if(${LIB_TYPE} STREQUAL "SHARED")
139	set_target_properties(ocr
140		PROPERTIES
141		DEFINE_SYMBOL ALIBABACLOUD_OCR_LIBRARY)
142endif()
143
144target_include_directories(ocr
145	PRIVATE include
146		${CMAKE_SOURCE_DIR}/core/include
147	)
148target_link_libraries(ocr
149	core)
150
151if(CMAKE_HOST_WIN32)
152	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
153	set(jsoncpp_install_dir ${INSTALL_DIR})
154	add_dependencies(ocr
155		jsoncpp)
156	target_include_directories(ocr
157		PRIVATE	${jsoncpp_install_dir}/include)
158	target_link_libraries(ocr
159		${jsoncpp_install_dir}/lib/jsoncpp.lib)
160	set_target_properties(ocr
161    	PROPERTIES
162    		COMPILE_OPTIONS "/bigobj")
163else()
164	target_include_directories(ocr
165		PRIVATE /usr/include/jsoncpp)
166	target_link_libraries(ocr
167		jsoncpp)
168endif()
169
170install(FILES ${ocr_public_header}
171	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ocr)
172install(FILES ${ocr_public_header_model}
173	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ocr/model)
174install(TARGETS ocr
175	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
176	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
177	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
178	)