find_package(Qt6 COMPONENTS Core REQUIRED) find_package(Qt6 COMPONENTS Gui REQUIRED) find_package(Qt6 COMPONENTS Multimedia ) find_package(Qt6 REQUIRED Svg Quick QuickControls2) SET(BIGINT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zxing/bigint) SET(WIN32_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zxing/win32/zxing) SET(ZXING_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zxing/zxing) set(CMAKE_AUTOMOC ON) set(CMAKE_WARN_ON) set(SOURCES CameraImageWrapper.cpp CameraImageWrapper.h ImageHandler.cpp ImageHandler.h QZXing.cpp QZXing.h QZXing_global.h ) SET(QZXING_USE_QML OFF) if(QZXING_MULTIMEDIA) LIST(APPEND SOURCES QZXingFilter.cpp QZXingFilter.h) add_definitions(-DQZXING_MULTIMEDIA) SET(QZXING_USE_QML ON) endif(QZXING_MULTIMEDIA) if(QZXING_USE_QML) LIST(APPEND SOURCES QZXingImageProvider.cpp QZXingImageProvider.h) add_definitions(-DQZXING_QML) endif(QZXING_USE_QML) set(QZXING_USE_ENCODER ON) if(QZXING_USE_ENCODER) add_definitions(-DENABLE_ENCODER_GENERIC -DENABLE_ENCODER_QR_CODE) endif(QZXING_USE_ENCODER) # add_library(qzxing "" ${SOURCES}) if(WIN32) add_subdirectory(zxing/win32) if(MSVC) add_definitions(-D__STDC_LIMIT_MACROS) endif(MSVC) add_definitions(-DNO_ICONV) endif(WIN32) if(ANDROID) add_definitions(-DNO_ICONV) endif() if(VS_WINRT_COMPONENT) add_definitions(-DNO_ICONV) endif(VS_WINRT_COMPONENT) add_subdirectory(zxing/bigint) add_subdirectory(zxing/zxing) if(QZXING_MULTIMEDIA) target_link_libraries(${PROJECT_NAME} Qt6::Multimedia) target_compile_definitions(${PROJECT_NAME} PUBLIC -DQZXING_MULTIMEDIA) endif(QZXING_MULTIMEDIA) if(QZXING_USE_QML) target_link_libraries(${PROJECT_NAME} Qt6::Svg Qt6::Quick Qt6::QuickControls2) target_compile_definitions(${PROJECT_NAME} PUBLIC -DQZXING_QML) endif(QZXING_USE_QML) if(QZXING_USE_ENCODER) target_compile_definitions(${PROJECT_NAME} PUBLIC -DENABLE_ENCODER_GENERIC -DENABLE_ENCODER_QR_CODE) endif(QZXING_USE_ENCODER) if(QZXING_USE_DECODER_QR_CODE) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_QR_CODE) endif() if(QZXING_USE_DECODER_1D_BARCODES) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_1D_BARCODES) endif() if(QZXING_USE_DECODER_DATA_MATRIX) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_DATA_MATRIX) endif() if(QZXING_USE_DECODER_AZTEC) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_AZTEC) endif() if(QZXING_USE_DECODER_PDF17) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_PDF17) endif() if(QZXING_USE_DECODER_1D_BARCODES) target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_DECODER_1D_BARCODES) endif() # Change Global Definitions depending on how you want to use the library target_compile_definitions(${PROJECT_NAME} PUBLIC DISABLE_LIBRARY_FEATURES) # Target includes target_include_directories(${PROJECT_NAME} PRIVATE . zxing zxing/win32/zxing zxing/zxing zxing/bigint PUBLIC $ )