QT += core gui widgets
QT += multimedia
QT += network
QT += concurrent
QT += serialport
QT += opengl
QT += webenginewidgets
greaterThan(QT_MAJOR_VERSION, 5) {
    QT += openglwidgets
}
CONFIG += c++14
CONFIG += lrelease
CONFIG += embed_translations
# CONFIG += console

# You can also make your code fail to compile if you use 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

TARGET = $$quote(LedOK Express)
VERSION = 1.3.5
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
msvc {
    contains(QT_ARCH, i386) {
        QMAKE_LFLAGS += /LARGEADDRESSAWARE
        #QMAKE_LFLAGS += -Wl,--large-address-aware
    }
    lessThan(QT_MAJOR_VERSION, 6) {
        QMAKE_CXXFLAGS += -execution-charset:utf-8
        QMAKE_CXXFLAGS += -source-charset:utf-8
    }

    CONFIG += force_debug_info
    CONFIG += separate_debug_info
}
win32 {
    CONFIG -= debug_and_release
    LIBS += -lwinmm
    LIBS += -lDbghelp
}
RESOURCES += res.qrc

win32:RC_ICONS = res/Logo.ico
osx:ICON = res/Logo.icns


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


SOURCES += \
    base/changepasswordform.cpp \
    base/customprogressindicator.cpp \
    base/loemptydialog.cpp \
    base/pixbmpshowdialog.cpp \
    base/softconfigdialog.cpp \
    base/switchcontrol.cpp \
    base/taesclass.cpp \
    base/updateledset3dialog.cpp \
    base/x_checkboxdelegate.cpp \
    base/x_spinboxdelegate.cpp \
    base/x_timeeditdelegate.cpp \
    base/x_uimsgboxok.cpp \
    base/extendedgroupbox.cpp \
    base/ffutil.cpp \
    base/locolorselector.cpp \
    base/lodateselector.cpp \
    base/loqtitlebar.cpp \
    base/loqtreewidget.cpp \
    base/waitingdlg.cpp \
    basedlg.cpp \
    basewin.cpp \
    cfg.cpp \
    communication/hpptclient.cpp \
    communication/taserialthread.cpp \
    device/ctrlhdmipanel.cpp \
    device/ctrlnetworkpanel.cpp \
    device/ctrlpwdpanel.cpp \
    devicectrlpanel.cpp \
    deviceitem.cpp \
    devicepanel.cpp \
    ffplayer.cpp \
    globaldefine.cpp \
    gutil/qgui.cpp \
    gutil/qnetwork.cpp \
    main.cpp \
    mainwindow.cpp \
    mguangyingpinwidget.cpp \
    passwordindlg.cpp \
    player/digiclock.cpp \
    player/eleanaclock.cpp \
    player/elebase.cpp \
    player/eleborder.cpp \
    player/elegif.cpp \
    player/eleimg.cpp \
    player/elemultipng.cpp \
    player/elescroll.cpp \
    player/eletimer.cpp \
    player/elevideo.cpp \
    player/playwin.cpp \
    player/posdlg.cpp \
    progpanel.cpp \
    synctimer.cpp \
    tools.cpp \
    device/controlpowerschedule.cpp \
    device/controlpowerwidget.cpp \
    device/controltestwidget.cpp \
    device/controlvolumeschedule.cpp \
    device/controlvolumewidget.cpp \
    device/ctrladvancedpanel.cpp \
    device/ctrlbrightpanel.cpp \
    device/ctrlverifyclockpanel.cpp \
    device/ledcard.cpp \
    device/upgradeapkdialog.cpp \
    device/wupgradeapkitem.cpp \
    program/copydirthread.cpp \
    program/eaclock.cpp \
    program/eaudio.cpp \
    program/ebase.cpp \
    program/edclock.cpp \
    program/eenviron.cpp \
    program/egif.cpp \
    program/emultiwin.cpp \
    program/ephoto.cpp \
    program/etext.cpp \
    program/etimer.cpp \
    program/evideo.cpp \
    program/eweb.cpp \
    program/gentmpthread.cpp \
    program/pageeditor.cpp \
    program/pagelistitem.cpp \
    program/progcreatedlg.cpp \
    program/progeditorwin.cpp \
    program/progitem.cpp \
    program/sendprogramdialog.cpp \
    program/sendprogthread.cpp \
    program/usbdetectdialog.cpp \
    program/videosplitthread.cpp \
    program/wplanitem.cpp \
    program/wplanlist.cpp \
    program/wprogrampublishitem.cpp \

HEADERS += \
    base/changepasswordform.h \
    base/customprogressindicator.h \
    base/loemptydialog.h \
    base/pixbmpshowdialog.h \
    base/softconfigdialog.h \
    base/switchcontrol.h \
    base/taesclass.h \
    base/updateledset3dialog.h \
    base/x_checkboxdelegate.h \
    base/x_spinboxdelegate.h \
    base/x_timeeditdelegate.h \
    base/x_uimsgboxok.h \
    base/extendedgroupbox.h \
    base/locolorselector.h \
    base/lodateselector.h \
    base/loqtitlebar.h \
    base/loqtreewidget.h \
    base/waitingdlg.h \
    basedlg.h \
    basewin.h \
    cfg.h \
    communication/hpptclient.h \
    communication/taserialthread.h \
    device/ctrlhdmipanel.h \
    device/ctrlnetworkpanel.h \
    device/ctrlpwdpanel.h \
    devicectrlpanel.h \
    deviceitem.h \
    devicepanel.h \
    ffplayer.h \
    globaldefine.h \
    gutil/qgui.h \
    gutil/qnetwork.h \
    mainwindow.h \
    mguangyingpinwidget.h \
    passwordindlg.h \
    player/digiclock.h \
    player/eleanaclock.h \
    player/elebase.h \
    player/eleborder.h \
    player/elegif.h \
    player/eleimg.h \
    player/elemultipng.h \
    player/elescroll.h \
    player/eletimer.h \
    player/elevideo.h \
    player/playwin.h \
    player/posdlg.h \
    progpanel.h \
    synctimer.h \
    tools.h \
    device/controlpowerschedule.h \
    device/controlpowerwidget.h \
    device/controltestwidget.h \
    device/controlvolumeschedule.h \
    device/controlvolumewidget.h \
    device/ctrladvancedpanel.h \
    device/ctrlbrightpanel.h \
    device/ctrlverifyclockpanel.h \
    device/ledcard.h \
    device/upgradeapkdialog.h \
    device/wupgradeapkitem.h \
    program/copydirthread.h \
    program/eaclock.h \
    program/eaudio.h \
    program/ebase.h \
    program/edclock.h \
    program/eenviron.h \
    program/egif.h \
    program/emultiwin.h \
    program/ephoto.h \
    program/etext.h \
    program/etimer.h \
    program/evideo.h \
    program/eweb.h \
    program/gentmpthread.h \
    program/pageeditor.h \
    program/pagelistitem.h \
    program/progcreatedlg.h \
    program/progeditorwin.h \
    program/progitem.h \
    program/sendprogramdialog.h \
    program/sendprogthread.h \
    program/usbdetectdialog.h \
    program/videosplitthread.h \
    program/wplanitem.h \
    program/wplanlist.h \
    program/wprogrampublishitem.h \

FORMS += \
    base/pixbmpshowdialog.ui \
    base/updateledset3dialog.ui \
    base/x_uimsgboxok.ui \
    mguangyingpinwidget.ui \
    device/controlpowerschedule.ui \
    device/controltestwidget.ui \
    device/controlvolumeschedule.ui \
    program/wplanitem.ui \

TRANSLATIONS += \
    translations/app_zh_CN.ts \
    translations/app_zh_TW.ts \
    translations/app_ja.ts \
    translations/app_en.ts

EXTRA_TRANSLATIONS += \
    translations/qt_zh_CN.ts \
    translations/qt_zh_TW.ts \
    translations/qt_ja.ts \
    translations/qt_en.ts

include(./xlsx/qtxlsx.pri)
include(./QSimpleUpdater/QSimpleUpdater.pri)


copydir.files += $$quote(y50 param)

win32 {
INCLUDEPATH += $$PWD/ffmpeg/include
LIBS += -L$$PWD/ffmpeg/lib/\
        -lavcodec \
        -lavdevice \
        -lavfilter \
        -lavformat \
        -lavutil \
        -lswresample \
        -lswscale

copy.files += $$files(ffmpeg/bin/*.dll)
copy.files += ffmpeg/bin/ffmpeg.exe
copy.files += 7z/7z.dll
copy.files += 7z/7z.exe
# for https requests
copy.files += $$files(OpenSSL/*.dll)
copy.path = $$OUT_PWD
copydir.path = $$OUT_PWD
CONFIG += file_copies
COPIES += copy
COPIES += copydir
}

osx {
INCLUDEPATH += $$PWD/ffmpeg-mac/include
LIBS += -L$$PWD/ffmpeg-mac/lib/\
        -lavcodec \
        -lavdevice \
        -lavfilter \
        -lavformat \
        -lavutil \
        -lswresample \
        -lswscale

copy.files += $$files(ffmpeg-mac/lib/*.dylib)
copy.path = Contents/MacOS
copydir.path = Contents/MacOS
#QMAKE_BUNDLE_DATA += copy
QMAKE_BUNDLE_DATA += copydir
}
