Khoren Markosyan
2 years ago
6 changed files with 553 additions and 437 deletions
@ -0,0 +1,520 @@
|
||||
cmake_minimum_required (VERSION 3.10) |
||||
|
||||
if (NOT DEFINED BUILD_WRITERS) |
||||
set (BUILD_WRITERS OFF) |
||||
endif() |
||||
|
||||
if (NOT DEFINED BUILD_READERS) |
||||
set (BUILD_READERS ON) |
||||
endif() |
||||
|
||||
set (ZXING_CORE_DEFINES) |
||||
if (WINRT) |
||||
set (ZXING_CORE_DEFINES ${ZXING_CORE_DEFINES} |
||||
-DWINRT |
||||
) |
||||
endif() |
||||
|
||||
set (ZXING_CORE_LOCAL_DEFINES |
||||
$<$<BOOL:${BUILD_READERS}>:-DZXING_BUILD_READERS> |
||||
$<$<BOOL:${BUILD_WRITERS}>:-DZXING_BUILD_WRITERS> |
||||
$<$<BOOL:${BUILD_UNIT_TESTS}>:-DZXING_BUILD_FOR_TEST> |
||||
-DZX_USE_UTF8 # silence deprecation warning in Result.h |
||||
) |
||||
if (MSVC) |
||||
set (ZXING_CORE_LOCAL_DEFINES ${ZXING_CORE_LOCAL_DEFINES} |
||||
-D_SCL_SECURE_NO_WARNINGS |
||||
-D_CRT_SECURE_NO_WARNINGS |
||||
-D_CRT_NONSTDC_NO_WARNINGS |
||||
-DNOMINMAX |
||||
) |
||||
else() |
||||
set (ZXING_CORE_LOCAL_DEFINES ${ZXING_CORE_LOCAL_DEFINES} |
||||
-Wall -Wextra -Wno-missing-braces -Werror=undef -Werror=return-type) |
||||
endif() |
||||
|
||||
|
||||
################# Source files |
||||
|
||||
set (COMMON_FILES |
||||
src/BarcodeFormat.h |
||||
src/BarcodeFormat.cpp |
||||
src/BitArray.h |
||||
src/BitArray.cpp |
||||
src/BitHacks.h |
||||
src/BitMatrix.h |
||||
src/BitMatrix.cpp |
||||
src/BitMatrixCursor.h |
||||
src/BitMatrixIO.h |
||||
src/BitMatrixIO.cpp |
||||
src/ByteArray.h |
||||
src/ByteMatrix.h |
||||
src/CharacterSet.h |
||||
src/CharacterSet.cpp |
||||
src/CharacterSetECI.h |
||||
src/ConcentricFinder.h |
||||
src/ConcentricFinder.cpp |
||||
src/CustomData.h |
||||
src/ECI.h |
||||
src/ECI.cpp |
||||
src/Flags.h |
||||
src/Generator.h |
||||
src/GenericGF.h |
||||
src/GenericGF.cpp |
||||
src/GenericGFPoly.h |
||||
src/GenericGFPoly.cpp |
||||
src/GTIN.h |
||||
src/GTIN.cpp |
||||
src/LogMatrix.h |
||||
src/Matrix.h |
||||
src/Pattern.h |
||||
src/Point.h |
||||
src/Quadrilateral.h |
||||
src/RegressionLine.h |
||||
src/Scope.h |
||||
src/TextUtfEncoding.h |
||||
src/TextUtfEncoding.cpp |
||||
src/TritMatrix.h |
||||
src/ZXAlgorithms.h |
||||
src/ZXBigInteger.h |
||||
src/ZXBigInteger.cpp |
||||
src/ZXConfig.h |
||||
src/ZXNullable.h |
||||
src/ZXTestSupport.h |
||||
) |
||||
if (BUILD_READERS) |
||||
set (COMMON_FILES ${COMMON_FILES} |
||||
src/BinaryBitmap.h |
||||
src/BinaryBitmap.cpp |
||||
src/BitSource.h |
||||
src/BitSource.cpp |
||||
src/Content.h |
||||
src/Content.cpp |
||||
src/DecodeHints.h |
||||
src/DecodeHints.cpp |
||||
src/DecodeStatus.h |
||||
src/DecodeStatus.cpp |
||||
src/DecoderResult.h |
||||
src/DetectorResult.h |
||||
src/Error.h |
||||
src/GlobalHistogramBinarizer.h |
||||
src/GlobalHistogramBinarizer.cpp |
||||
src/GridSampler.h |
||||
src/GridSampler.cpp |
||||
src/GS1.h |
||||
src/GS1.cpp |
||||
src/HybridBinarizer.h |
||||
src/HybridBinarizer.cpp |
||||
src/ImageView.h |
||||
src/MultiFormatReader.h |
||||
src/MultiFormatReader.cpp |
||||
src/PerspectiveTransform.h |
||||
src/PerspectiveTransform.cpp |
||||
src/Reader.h |
||||
src/ReadBarcode.h |
||||
src/ReadBarcode.cpp |
||||
src/ReedSolomonDecoder.h |
||||
src/ReedSolomonDecoder.cpp |
||||
src/Result.h |
||||
src/Result.cpp |
||||
src/ResultPoint.h |
||||
src/ResultPoint.cpp |
||||
src/TextDecoder.h |
||||
src/TextDecoder.cpp |
||||
src/ThresholdBinarizer.h |
||||
src/WhiteRectDetector.h |
||||
src/WhiteRectDetector.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (COMMON_FILES ${COMMON_FILES} |
||||
src/ByteMatrix.h |
||||
src/ReedSolomonEncoder.h |
||||
src/ReedSolomonEncoder.cpp |
||||
src/TextEncoder.h |
||||
src/TextEncoder.cpp |
||||
src/MultiFormatWriter.h |
||||
src/MultiFormatWriter.cpp |
||||
) |
||||
endif() |
||||
|
||||
# define subset of public headers that get distributed with the binaries |
||||
set (PUBLIC_HEADERS |
||||
src/BarcodeFormat.h |
||||
src/BitHacks.h |
||||
src/ByteArray.h |
||||
src/CharacterSet.h |
||||
src/CharacterSetECI.h # deprecated |
||||
src/Flags.h |
||||
src/GTIN.h |
||||
src/TextUtfEncoding.h |
||||
src/ZXAlgorithms.h |
||||
src/ZXConfig.h |
||||
) |
||||
if (BUILD_READERS) |
||||
set (PUBLIC_HEADERS ${PUBLIC_HEADERS} |
||||
src/Content.h |
||||
src/DecodeHints.h |
||||
src/DecodeStatus.h |
||||
src/Error.h |
||||
src/ImageView.h |
||||
src/Point.h |
||||
src/Quadrilateral.h |
||||
src/ReadBarcode.h |
||||
src/Result.h |
||||
src/StructuredAppend.h |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (PUBLIC_HEADERS ${PUBLIC_HEADERS} |
||||
src/BitMatrix.h |
||||
src/BitMatrixIO.h |
||||
src/Matrix.h |
||||
src/MultiFormatWriter.h |
||||
) |
||||
endif() |
||||
# end of public header set |
||||
|
||||
set (AZTEC_FILES |
||||
) |
||||
if (BUILD_READERS) |
||||
set (AZTEC_FILES ${AZTEC_FILES} |
||||
src/aztec/AZDecoder.h |
||||
src/aztec/AZDecoder.cpp |
||||
src/aztec/AZDetector.h |
||||
src/aztec/AZDetector.cpp |
||||
src/aztec/AZDetectorResult.h |
||||
src/aztec/AZReader.h |
||||
src/aztec/AZReader.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (AZTEC_FILES ${AZTEC_FILES} |
||||
src/aztec/AZEncodingState.h |
||||
src/aztec/AZEncoder.h |
||||
src/aztec/AZEncoder.cpp |
||||
src/aztec/AZHighLevelEncoder.h |
||||
src/aztec/AZHighLevelEncoder.cpp |
||||
src/aztec/AZToken.h |
||||
src/aztec/AZToken.cpp |
||||
src/aztec/AZWriter.h |
||||
src/aztec/AZWriter.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (DATAMATRIX_FILES |
||||
src/datamatrix/DMBitLayout.h |
||||
src/datamatrix/DMBitLayout.cpp |
||||
src/datamatrix/DMVersion.h |
||||
src/datamatrix/DMVersion.cpp |
||||
) |
||||
if (BUILD_READERS) |
||||
set (DATAMATRIX_FILES ${DATAMATRIX_FILES} |
||||
src/datamatrix/DMDataBlock.h |
||||
src/datamatrix/DMDataBlock.cpp |
||||
src/datamatrix/DMDecoder.h |
||||
src/datamatrix/DMDecoder.cpp |
||||
src/datamatrix/DMDetector.h |
||||
src/datamatrix/DMDetector.cpp |
||||
src/datamatrix/DMReader.h |
||||
src/datamatrix/DMReader.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (DATAMATRIX_FILES ${DATAMATRIX_FILES} |
||||
src/datamatrix/DMECEncoder.h |
||||
src/datamatrix/DMECEncoder.cpp |
||||
src/datamatrix/DMEncoderContext.h |
||||
src/datamatrix/DMHighLevelEncoder.h |
||||
src/datamatrix/DMHighLevelEncoder.cpp |
||||
src/datamatrix/DMSymbolInfo.h |
||||
src/datamatrix/DMSymbolInfo.cpp |
||||
src/datamatrix/DMSymbolShape.h |
||||
src/datamatrix/DMWriter.h |
||||
src/datamatrix/DMWriter.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (MAXICODE_FILES |
||||
) |
||||
if (BUILD_READERS) |
||||
set (MAXICODE_FILES ${MAXICODE_FILES} |
||||
src/maxicode/MCBitMatrixParser.h |
||||
src/maxicode/MCBitMatrixParser.cpp |
||||
src/maxicode/MCDecoder.h |
||||
src/maxicode/MCDecoder.cpp |
||||
src/maxicode/MCReader.h |
||||
src/maxicode/MCReader.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (ONED_FILES |
||||
src/oned/ODUPCEANCommon.h |
||||
src/oned/ODUPCEANCommon.cpp |
||||
src/oned/ODCode128Patterns.h |
||||
src/oned/ODCode128Patterns.cpp |
||||
) |
||||
if (BUILD_READERS) |
||||
set (ONED_FILES ${ONED_FILES} |
||||
src/oned/ODCodabarReader.h |
||||
src/oned/ODCodabarReader.cpp |
||||
src/oned/ODCode39Reader.h |
||||
src/oned/ODCode39Reader.cpp |
||||
src/oned/ODCode93Reader.h |
||||
src/oned/ODCode93Reader.cpp |
||||
src/oned/ODCode128Reader.h |
||||
src/oned/ODCode128Reader.cpp |
||||
src/oned/ODDataBarCommon.h |
||||
src/oned/ODDataBarCommon.cpp |
||||
src/oned/ODDataBarReader.h |
||||
src/oned/ODDataBarReader.cpp |
||||
src/oned/ODDataBarExpandedBitDecoder.h |
||||
src/oned/ODDataBarExpandedBitDecoder.cpp |
||||
src/oned/ODDataBarExpandedReader.h |
||||
src/oned/ODDataBarExpandedReader.cpp |
||||
src/oned/ODITFReader.h |
||||
src/oned/ODITFReader.cpp |
||||
src/oned/ODMultiUPCEANReader.h |
||||
src/oned/ODMultiUPCEANReader.cpp |
||||
src/oned/ODReader.h |
||||
src/oned/ODReader.cpp |
||||
src/oned/ODRowReader.h |
||||
src/oned/ODRowReader.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (ONED_FILES ${ONED_FILES} |
||||
src/oned/ODCodabarWriter.h |
||||
src/oned/ODCodabarWriter.cpp |
||||
src/oned/ODCode39Writer.h |
||||
src/oned/ODCode39Writer.cpp |
||||
src/oned/ODCode93Writer.h |
||||
src/oned/ODCode93Writer.cpp |
||||
src/oned/ODCode128Writer.h |
||||
src/oned/ODCode128Writer.cpp |
||||
src/oned/ODEAN8Writer.h |
||||
src/oned/ODEAN8Writer.cpp |
||||
src/oned/ODEAN13Writer.h |
||||
src/oned/ODEAN13Writer.cpp |
||||
src/oned/ODITFWriter.h |
||||
src/oned/ODITFWriter.cpp |
||||
src/oned/ODUPCEWriter.h |
||||
src/oned/ODUPCEWriter.cpp |
||||
src/oned/ODUPCAWriter.h |
||||
src/oned/ODUPCAWriter.cpp |
||||
src/oned/ODWriterHelper.h |
||||
src/oned/ODWriterHelper.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (PDF417_FILES |
||||
) |
||||
if (BUILD_READERS) |
||||
set (PDF417_FILES ${PDF417_FILES} |
||||
src/pdf417/PDFBarcodeMetadata.h |
||||
src/pdf417/PDFBarcodeValue.h |
||||
src/pdf417/PDFBarcodeValue.cpp |
||||
src/pdf417/PDFBoundingBox.h |
||||
src/pdf417/PDFBoundingBox.cpp |
||||
src/pdf417/PDFCodeword.h |
||||
src/pdf417/PDFCodewordDecoder.h |
||||
src/pdf417/PDFCodewordDecoder.cpp |
||||
src/pdf417/PDFDecodedBitStreamParser.h |
||||
src/pdf417/PDFDecodedBitStreamParser.cpp |
||||
src/pdf417/PDFDecoderResultExtra.h |
||||
src/pdf417/PDFDetectionResult.h |
||||
src/pdf417/PDFDetectionResult.cpp |
||||
src/pdf417/PDFDetectionResultColumn.h |
||||
src/pdf417/PDFDetectionResultColumn.cpp |
||||
src/pdf417/PDFDetector.h |
||||
src/pdf417/PDFDetector.cpp |
||||
src/pdf417/PDFModulusGF.h |
||||
src/pdf417/PDFModulusGF.cpp |
||||
src/pdf417/PDFModulusPoly.h |
||||
src/pdf417/PDFModulusPoly.cpp |
||||
src/pdf417/PDFReader.h |
||||
src/pdf417/PDFReader.cpp |
||||
src/pdf417/PDFScanningDecoder.h |
||||
src/pdf417/PDFScanningDecoder.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (PDF417_FILES ${PDF417_FILES} |
||||
src/pdf417/PDFCompaction.h |
||||
src/pdf417/PDFEncoder.h |
||||
src/pdf417/PDFEncoder.cpp |
||||
src/pdf417/PDFHighLevelEncoder.h |
||||
src/pdf417/PDFHighLevelEncoder.cpp |
||||
src/pdf417/PDFWriter.h |
||||
src/pdf417/PDFWriter.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (QRCODE_FILES |
||||
src/qrcode/QRCodecMode.h |
||||
src/qrcode/QRCodecMode.cpp |
||||
src/qrcode/QRErrorCorrectionLevel.h |
||||
src/qrcode/QRErrorCorrectionLevel.cpp |
||||
src/qrcode/QRVersion.h |
||||
src/qrcode/QRVersion.cpp |
||||
) |
||||
if (BUILD_READERS) |
||||
set (QRCODE_FILES ${QRCODE_FILES} |
||||
src/qrcode/QRBitMatrixParser.h |
||||
src/qrcode/QRBitMatrixParser.cpp |
||||
src/qrcode/QRDataBlock.h |
||||
src/qrcode/QRDataBlock.cpp |
||||
src/qrcode/QRDataMask.h |
||||
src/qrcode/QRDecoder.h |
||||
src/qrcode/QRDecoder.cpp |
||||
src/qrcode/QRDetector.h |
||||
src/qrcode/QRDetector.cpp |
||||
src/qrcode/QRECB.h |
||||
src/qrcode/QRFormatInformation.h |
||||
src/qrcode/QRFormatInformation.cpp |
||||
src/qrcode/QRReader.h |
||||
src/qrcode/QRReader.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (QRCODE_FILES ${QRCODE_FILES} |
||||
src/qrcode/QREncoder.h |
||||
src/qrcode/QREncoder.cpp |
||||
src/qrcode/QREncodeResult.h |
||||
src/qrcode/QRMaskUtil.h |
||||
src/qrcode/QRMaskUtil.cpp |
||||
src/qrcode/QRMatrixUtil.h |
||||
src/qrcode/QRMatrixUtil.cpp |
||||
src/qrcode/QRWriter.h |
||||
src/qrcode/QRWriter.cpp |
||||
) |
||||
endif() |
||||
|
||||
|
||||
set (TEXT_CODEC_FILES |
||||
src/textcodec/Big5MapTable.h |
||||
src/textcodec/Big5MapTable.cpp |
||||
src/textcodec/KRHangulMapping.h |
||||
src/textcodec/KRHangulMapping.cpp |
||||
) |
||||
if (BUILD_READERS) |
||||
set (TEXT_CODEC_FILES ${TEXT_CODEC_FILES} |
||||
src/textcodec/Big5TextDecoder.h |
||||
src/textcodec/Big5TextDecoder.cpp |
||||
src/textcodec/GBTextDecoder.h |
||||
src/textcodec/GBTextDecoder.cpp |
||||
src/textcodec/JPTextDecoder.h |
||||
src/textcodec/JPTextDecoder.cpp |
||||
src/textcodec/KRTextDecoder.h |
||||
src/textcodec/KRTextDecoder.cpp |
||||
) |
||||
endif() |
||||
if (BUILD_WRITERS) |
||||
set (TEXT_CODEC_FILES ${TEXT_CODEC_FILES} |
||||
src/textcodec/Big5TextEncoder.h |
||||
src/textcodec/Big5TextEncoder.cpp |
||||
src/textcodec/GBTextEncoder.h |
||||
src/textcodec/GBTextEncoder.cpp |
||||
src/textcodec/JPTextEncoder.h |
||||
src/textcodec/JPTextEncoder.cpp |
||||
src/textcodec/KRTextEncoder.h |
||||
src/textcodec/KRTextEncoder.cpp |
||||
) |
||||
endif() |
||||
|
||||
source_group (Sources FILES ${COMMON_FILES}) |
||||
source_group (Sources\\aztec FILES ${AZTEC_FILES}) |
||||
source_group (Sources\\datamatrix FILES ${DATAMATRIX_FILES}) |
||||
source_group (Sources\\maxicode FILES ${MAXICODE_FILES}) |
||||
source_group (Sources\\oned FILES ${ONED_FILES}) |
||||
source_group (Sources\\pdf417 FILES ${PDF417_FILES}) |
||||
source_group (Sources\\qrcode FILES ${QRCODE_FILES}) |
||||
source_group (Sources\\textcodec FILES ${TEXT_CODEC_FILES}) |
||||
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE) |
||||
set(THREADS_PREFER_PTHREAD_FLAG TRUE) |
||||
find_package(Threads REQUIRED) |
||||
|
||||
add_library (ZXing |
||||
${COMMON_FILES} |
||||
${AZTEC_FILES} |
||||
${DATAMATRIX_FILES} |
||||
${MAXICODE_FILES} |
||||
${ONED_FILES} |
||||
${PDF417_FILES} |
||||
${QRCODE_FILES} |
||||
${TEXT_CODEC_FILES} |
||||
) |
||||
|
||||
target_include_directories (ZXing |
||||
PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>" |
||||
INTERFACE "$<INSTALL_INTERFACE:include>" |
||||
) |
||||
|
||||
target_compile_options (ZXing |
||||
PUBLIC ${ZXING_CORE_DEFINES} |
||||
PRIVATE ${ZXING_CORE_LOCAL_DEFINES} |
||||
) |
||||
|
||||
include (CheckCXXCompilerFlag) |
||||
|
||||
CHECK_CXX_COMPILER_FLAG ("-ffloat-store" COMPILER_NEEDS_FLOAT_STORE) |
||||
if (COMPILER_NEEDS_FLOAT_STORE) |
||||
target_compile_options(ZXing PRIVATE |
||||
-ffloat-store # same floating point precision in all optimization levels |
||||
) |
||||
endif() |
||||
|
||||
# the lib needs a c++-17 compiler but can be used with a c++-11 compiler (see examples) |
||||
target_compile_features(ZXing PRIVATE cxx_std_17 INTERFACE cxx_std_11) |
||||
|
||||
target_link_libraries (ZXing PRIVATE Threads::Threads) |
||||
|
||||
add_library(ZXing::ZXing ALIAS ZXing) |
||||
# add the old alias as well, to keep old clients compiling |
||||
# note: this only affects client code that includes ZXing via sub_directory. |
||||
# for clients using the exported target, see ZXingConfig.cmake.in |
||||
add_library(ZXing::Core ALIAS ZXing) |
||||
|
||||
set_target_properties(ZXing PROPERTIES EXPORT_NAME ZXing) |
||||
# force position independent code to be able to link it as static lib into a DLL (e.g. the python module) |
||||
set_target_properties(ZXing PROPERTIES POSITION_INDEPENDENT_CODE ON) |
||||
if (PROJECT_VERSION) |
||||
set_target_properties(ZXing PROPERTIES VERSION ${PROJECT_VERSION}) |
||||
set_target_properties(ZXing PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}) |
||||
endif() |
||||
|
||||
set_target_properties(ZXing PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") |
||||
|
||||
include (GNUInstallDirs) |
||||
|
||||
install ( |
||||
TARGETS ZXing EXPORT ZXingTargets |
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
||||
# INCLUDES DESTINATION include |
||||
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ZXing" |
||||
) |
||||
|
||||
configure_file (ZXVersion.h.in ZXVersion.h) |
||||
|
||||
install ( |
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/ZXVersion.h" |
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ZXing" |
||||
) |
||||
|
||||
if(MSVC) |
||||
set_target_properties(ZXing PROPERTIES |
||||
COMPILE_PDB_NAME ZXing |
||||
COMPILE_PDB_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}) |
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ZXing.pdb |
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR} |
||||
CONFIGURATIONS Debug RelWithDebInfo |
||||
OPTIONAL) |
||||
endif() |
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Copyright 2019 Nu-book Inc. |
||||
*/ |
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
#pragma once |
||||
|
||||
// Version numbering
|
||||
#define ZXING_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ |
||||
#define ZXING_VERSION_MINOR @PROJECT_VERSION_MINOR@ |
||||
#define ZXING_VERSION_PATCH @PROJECT_VERSION_PATCH@ |
@ -0,0 +1,9 @@
|
||||
@PACKAGE_INIT@ |
||||
include("${CMAKE_CURRENT_LIST_DIR}/ZXingTargets.cmake") |
||||
|
||||
# this does not work: add_library(ZXing::Core ALIAS ZXing::ZXing) |
||||
# this is a workaround available since 3.11 : |
||||
if(NOT(CMAKE_VERSION VERSION_LESS 3.11)) |
||||
add_library(ZXing::Core INTERFACE IMPORTED) |
||||
target_link_libraries(ZXing::Core INTERFACE ZXing::ZXing) |
||||
endif() |
Loading…
Reference in new issue