CONFIG -= qt TEMPLATE = lib DEFINES += UNTITLED_LIBRARY CONFIG += c++11 CONFIG += dll # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 DEFINES += OEM_HUAGAO if (contains(DEFINES, OEM_HANWANG) || contains(DEFINES, OEM_LISICHENG) || contains(DEFINES, OEM_CANGTIAN) || contains(DEFINES, OEM_ZHONGJING) || contains(DEFINES, OEM_ZIGUANG)) { contains(DEFINES, OEM_HANWANG) { OEM_PREFIX = HW OEM_PREFIX2 = Hw OEM_NAME = hanvon } contains(DEFINES, OEM_LISICHENG) { OEM_PREFIX = LSC OEM_PREFIX2 = Lsc OEM_NAME = lanxum } contains(DEFINES, OEM_CANGTIAN) { OEM_PREFIX = CTS OEM_PREFIX2 = Cts OEM_NAME = cumtenn } contains(DEFINES, OEM_ZHONGJING) { OEM_PREFIX = ZJ OEM_PREFIX2 = Zj OEM_NAME = microtek } contains(DEFINES, OEM_ZIGUANG) { OEM_PREFIX = ZG OEM_PREFIX2 = Zg OEM_NAME = unis } } else { OEM_PREFIX = HG OEM_PREFIX2 = HG OEM_NAME = huagao } CONFIG(debug, debug|release) { MY_CONFIGURE = Debug } CONFIG(release, debug|release) { MY_CONFIGURE = Release } win32 { SOURCES += \ ../../../modules/twain_user/HGTwain.cpp \ ../../../modules/twain_user/HGTwainImpl.cpp \ ../../../modules/twain_user/dllmain.cpp HEADERS += \ ../../../modules/twain_user/HGTwain.h \ ../../../modules/twain_user/HGTwainErr.h \ ../../../modules/twain_user/HGTwainImpl.hpp MY_OS = windows TARGET = $${OEM_PREFIX}TwainUser contains(QT_ARCH, i386) { MY_ARCH = x86 } contains(QT_ARCH, x86_64) { MY_ARCH = x64 } CONFIG(debug, debug|release) { QMAKE_CFLAGS_DEBUG += -MTd QMAKE_CXXFLAGS_DEBUG += -MTd } CONFIG(release, debug|release) { QMAKE_CFLAGS_RELEASE += -MT QMAKE_CXXFLAGS_RELEASE += -MT QMAKE_LFLAGS_RELEASE += /MAP QMAKE_CFLAGS_RELEASE += /Zi QMAKE_LFLAGS_RELEASE += /debug /opt:ref } DEF_FILE = HGTwainUser.def LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base } unix { DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1) contains(DISTRIBUTION, UnionTech) { MY_OS = uos } else { MY_OS = kylin } TARGET = $${OEM_PREFIX2}TwainUser contains(QT_ARCH, x86_64) { MY_ARCH = amd64 } contains(QT_ARCH, arm64) { MY_ARCH = aarch64 } contains(QT_ARCH, mips64) { MY_ARCH = mips64 } contains(QT_ARCH, loongarch64) { MY_ARCH = loongarch64 } CONFIG += unversioned_libname unversioned_soname QMAKE_CXXFLAGS += -fvisibility=hidden QMAKE_LFLAGS += -static-libstdc++ -static-libgcc QMAKE_LFLAGS += -Wl,-rpath,\'\$\$ORIGIN\' -Wl,--exclude-libs,ALL QMAKE_LFLAGS += -z defs -B direct LIBS += -lpthread -ldl LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base } INCLUDEPATH += $$PWD/../../../modules INCLUDEPATH += $$PWD/../../../third_party/twain DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET} MOC_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET} OBJECTS_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET} RCC_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET} message(MY_OS: $$MY_OS) message(MY_ARCH: $$MY_ARCH) message(OEM_PREFIX: $$OEM_PREFIX) message(OEM_PREFIX2: $$OEM_PREFIX2) message(OEM_NAME: $$OEM_NAME) message(MY_CONFIGURE: $$MY_CONFIGURE) message(TARGET: $$TARGET) message(DESTDIR: $$DESTDIR) message(UI_DIR: $$UI_DIR) message(MOC_DIR: $$MOC_DIR) message(OBJECTS_DIR: $$OBJECTS_DIR) message(RCC_DIR: $$RCC_DIR) win32 { CONFIG(release, debug|release) { DESTLIB_PATH = $${PWD}/../../../../sdk/lib/win/$${MY_ARCH}/$${MY_CONFIGURE}/ DESTLIB_PATH = $$replace(DESTLIB_PATH, /, \\) message(DESTLIB_PATH: $$DESTLIB_PATH) DESTDLL_PATH = $${PWD}/../../../../release/win/$${MY_ARCH}/$${MY_CONFIGURE}/ DESTDLL_PATH = $$replace(DESTDLL_PATH, /, \\) message(DESTDLL_PATH: $$DESTDLL_PATH) DESTHEADER_PATH = $${PWD}/../../../../sdk/include/twain_user/ DESTHEADER_PATH = $$replace(DESTHEADER_PATH, /, \\) message(DESTHEADER_PATH: $$DESTHEADER_PATH) SRCLIB_FILE = $${DESTDIR}/$${TARGET}.lib SRCLIB_FILE = $$replace(SRCLIB_FILE, /, \\) message(SRCLIB_FILE: $$SRCLIB_FILE) SRCDLL_FILE = $${DESTDIR}/$${TARGET}.dll SRCDLL_FILE = $$replace(SRCDLL_FILE, /, \\) message(SRCDLL_FILE: $$SRCDLL_FILE) SRCHEADER_FILE = $${PWD}/../../../modules/twain_user/*.h SRCHEADER_FILE = $$replace(SRCHEADER_FILE, /, \\) message(SRCHEADER_FILE: $$SRCHEADER_FILE) SRCPDB_FILE = $${DESTDIR}/$${TARGET}.pdb SRCPDB_FILE = $$replace(SRCPDB_FILE, /, \\) message(SRCPDB_FILE: $$SRCPDB_FILE) QMAKE_POST_LINK += xcopy /y $$SRCLIB_FILE $$DESTLIB_PATH && xcopy /y $$SRCDLL_FILE $$DESTDLL_PATH \ && xcopy /y $$SRCHEADER_FILE $$DESTHEADER_PATH && xcopy /y $$SRCPDB_FILE $$DESTDLL_PATH } }