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 )