QT       += core gui sql

#DEFINES += _USING_MYSQL_CONNECTOR_
#DEFINES += _USING_QT_MYSQL_CONNECTOR_
DEFINES += _USING_MYSQL_51_LIB_

contains(DEFINES,_USING_MYSQL_CONNECTOR_){
message('-->> using mysql connector module')
INCLUDEPATH += $$PWD/../../SDK/include/mysql
win32:LIBS += $$PWD/..\..\SDK\lib\mysql\mysqlcppconn.lib
}

contains(DEFINES,_USING_QT_MYSQL_CONNECTOR_){
message('-->> using QT sql module')
QT       += sql
}

contains(DEFINES,_USING_MYSQL_51_LIB_){
message('-->> using mysql 5.1 library')

INCLUDEPATH += $$PWD/../../SDK/mysql/include
CONFIG(debug, debug|debug) {
win32:LIBS += $$PWD/..\..\SDK/mysql/lib/debug/libmysql.lib
win32:LIBS += $$PWD/..\..\SDK/mysql/lib/debug/mysqlclient.lib
}

CONFIG(debug, debug|release) {
win32:LIBS += $$PWD/..\..\SDK/mysql/lib/opt/libmysql.lib
win32:LIBS += $$PWD/..\..\SDK/mysql/lib/opt/mysqlclient.lib
}
}

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

QMAKE_LFLAGS    += /ignore:4099
QMAKE_LFLAGS += /NODEFAULTLIB:LIBCMTD

QMAKE_CXXFLAGS_WARN_ON += -wd4100

include("$$PWD/QtSingleApplication/qtsingleapplication.pri")

DEFINES += HAVE_CONFIG_H
DEFINES += _CRT_SECURE_NO_WARNINGS

INCLUDEPATH += $$PWD/../../SDK/include


CONFIG(debug, debug|debug) {
INCLUDEPATH += "D:/Visual Leak Detector/include"
win32:LIBS += "D:/Visual Leak Detector/lib/Win64/vld.lib"
}

CONFIG(debug, debug|release) {
win32:LIBS += $$PWD/..\..\SDK\lib\libdesd.lib
win32:LIBS += $$PWD/..\..\SDK\lib\OpenSSL_VC\libcrypto64MDd.lib
win32:LIBS += $$PWD/..\..\SDK\lib\OpenSSL_VC\libssl64MDd.lib
win32:LIBS += $$PWD/..\..\SDK\lib\hvd.lib
win32:LIBS += $$PWD/..\..\SDK\lib\zlibd.lib
win32:LIBS += Ws2_32.lib
}else{
win32:LIBS += $$PWD/..\..\SDK\lib\libdes.lib
win32:LIBS += $$PWD/..\..\SDK\lib\OpenSSL_VC\libcrypto64MD.lib
win32:LIBS += $$PWD/..\..\SDK\lib\OpenSSL_VC\libssl64MD.lib
win32:LIBS += $$PWD/..\..\SDK\lib\hv.lib
win32:LIBS += $$PWD/..\..\SDK\lib\zlib.lib
win32:LIBS += Ws2_32.lib
}


# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    aboutdialog.cpp \
    datafetcher.cpp \
    devicepropertypage.cpp \
    formserialportsettingdialog.cpp \
    globalparameters.cpp \
    ipaddress.cpp \
    kutilities.cpp \
    main.cpp \
    maindialog.cpp \
    mainwindow.cpp \
    mysqlutils.cpp \
    mytablemodel.cpp \
    newdeviceformdialog.cpp \
    ziputils.cpp

HEADERS += \
    aboutdialog.h \
    datafetcher.h \
    devicepropertypage.h \
    formserialportsettingdialog.h \
    globalparameters.h \
    ipaddress.h \
    kutilities.h \
    maindialog.h \
    mainwindow.h \
    mysqlutils.h \
    mytablemodel.h \
    newdeviceformdialog.h \
    singleton.h \
    ziputils.h \
    hv_tcpclient.h \
    kdefine.h \
    frame_define.h

FORMS += \
    aboutdialog.ui \
    formserialportsettingdialog.ui \
    maindialog.ui \
    mainwindow.ui \
    newdeviceformdialog.ui

TRANSLATIONS += \
    emsConfigurer_en_US.ts \
    emsConfigurer_zh_CN.ts

CONFIG += lrelease
CONFIG += embed_translations

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

RESOURCES += \
    emscfgres.qrc \
    qdarkstyle/bingle/img.qrc

RESOURCES += qdarkstyle/dark/darkstyle.qrc
RESOURCES += qdarkstyle/light/lightstyle.qrc
RESOURCES += qdarkstyle/bingle/binglestyle.qrc