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 include($$PWD/../HGOEM.pri) CONFIG(debug, debug|release) { MY_CONFIGURE = Debug } CONFIG(release, debug|release) { MY_CONFIGURE = Release } win32 { MY_OS = windows TARGET = $${OEM_PREFIX}SaneUser 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 QMAKE_LFLAGS_DEBUG += /NOENTRY } 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 QMAKE_LFLAGS_RELEASE += /NOENTRY } DEF_FILE = HGSaneUser.def LIBS += -lgdi32 -lgdiplus -ldbghelp LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}TwainUI } unix { SOURCES += \ ../../../modules/sane_user/HGSane.cpp \ ../../../modules/sane_user/HGSaneImpl.cpp HEADERS += \ ../../../modules/sane_user/HGSane.h \ ../../../modules/sane_user/HGSaneErr.h \ ../../../modules/sane_user/HGSaneImpl.hpp DEFINES += _GLIBCXX_USE_CXX11_ABI=0 DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1) contains(DISTRIBUTION, UnionTech) { MY_OS = uos } else { MY_OS = kylin } TARGET = $${OEM_PREFIX2}SaneUser contains(QT_ARCH, x86_64) { MY_ARCH = amd64 MY_ARCH2 = x86_64 } contains(QT_ARCH, arm64) { MY_ARCH = aarch64 MY_ARCH2 = aarch64 } contains(QT_ARCH, mips64) { MY_ARCH = mips64 MY_ARCH2 = mips64 } contains(QT_ARCH, loongarch64) { MY_ARCH = loongarch64 MY_ARCH2 = 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 -l$${OEM_PREFIX2}TwainUI } INCLUDEPATH += $$PWD/../../../modules INCLUDEPATH += $$PWD/../../../../sdk/include 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) unix { CONFIG(release, debug|release) { DESTDLL_PATH = $$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2}/ message(DESTDLL_PATH: $$DESTDLL_PATH) DESTHEADER_PATH = $${PWD}/../../../../sdk/include/sane_user/ message(DESTHEADER_PATH: $$DESTHEADER_PATH) SRCDLL_FILE = $${DESTDIR}/lib$${TARGET}.so message(SRCDLL_FILE: $$SRCDLL_FILE) SRCHEADER_FILE = $${PWD}/../../../modules/sane_user/*.h message(SRCHEADER_FILE: $$SRCHEADER_FILE) QMAKE_POST_LINK += cp $$SRCDLL_FILE $$DESTDLL_PATH && cp $$SRCHEADER_FILE $$DESTHEADER_PATH } }