#-------------------------------------------------
#
# Project created by QtCreator 2016-08-12T21:55:19
#
#-------------------------------------------------
INCLUDEPATH += $$PWD
# Version
DT_VERSION = 1.3
DEFINES += DT_VERSION=$$DT_VERSION

!android: {
    # Serial port available
    DEFINES += HAS_SERIALPORT
}

CONFIG += c++14

# Options
#Build mobile GUI
#CONFIG += build_mobile


# Bluetooth available
DEFINES += HAS_BLUETOOTH

QT       += core gui
QT       += widgets
QT       += printsupport
QT       += network
QT       += bluetooth
QT       += quick
QT       += quickcontrols2
QT       += charts

contains(DEFINES, HAS_SERIALPORT) {
    QT       += serialport
}

android: QT += androidextras

android: TARGET = ENNOID-BMS-Tool
!android: TARGET = ENNOID-BMS-ToolV$$DT_VERSION

TEMPLATE = app

release_win {
    DESTDIR = build/win
    OBJECTS_DIR = build/win/obj
    MOC_DIR = build/win/obj
    RCC_DIR = build/win/obj
    UI_DIR = build/win/obj
}

release_lin {
    # http://micro.nicholaswilson.me.uk/post/31855915892/rules-of-static-linking-libstdc-libc-libgcc
    # http://insanecoding.blogspot.se/2012/07/creating-portable-linux-binaries.html
    QMAKE_LFLAGS += -static-libstdc++ -static-libgcc
    DESTDIR = build/lin
    OBJECTS_DIR = build/lin/obj
    MOC_DIR = build/lin/obj
    RCC_DIR = build/lin/obj
    UI_DIR = build/lin/obj
}

release_android {
    DESTDIR = build/android
    OBJECTS_DIR = build/android/obj
    MOC_DIR = build/android/obj
    RCC_DIR = build/android/obj
    UI_DIR = build/android/obj
}

build_mobile {
    DEFINES += USE_MOBILE
}

SOURCES += main.cpp\
    akbmonitorpage.cpp \
    bmsservicepage.cpp \
    bmssettings.cpp \
    bmssettingswidget.cpp \
    cellsmonitorcheckboxdelegate.cpp \
    cellsmonitorlabelvoltagedelegate.cpp \
    cellsmonitorpage.cpp \
    configparamsgetter.cpp \
    configurationpage.cpp \
    connectandenterpage.cpp \
    customlefttabbarbutton.cpp \
    debugprintpage.cpp \
    historylineeditbox.cpp \
    hoverablecombobox.cpp \
    languageselectorbutton.cpp \
        mainwindow.cpp \
    mainwindownew.cpp \
    packet.cpp \
    settingsextrapage.cpp \
    vbytearray.cpp \
    commands.cpp \
    configparams.cpp \
    configparam.cpp \
    parametereditor.cpp \
    digitalfiltering.cpp \
    bleuart.cpp \
    utility.cpp \
    bmsinterface.cpp \
    visualizationchart.cpp \
    visualizationpage.cpp

HEADERS  += mainwindow.h \
    akbmonitorpage.h \
    bmsservicepage.h \
    bmssettings.h \
    bmssettingswidget.h \
    cellsmonitorcheckboxdelegate.h \
    cellsmonitorlabelvoltagedelegate.h \
    cellsmonitorpage.h \
    configparamsgetter.h \
    configurationpage.h \
    connectandenterpage.h \
    customlefttabbarbutton.h \
    debugprintpage.h \
    historylineedit.h \
    historylineeditbox.h \
    hoverablecombobox.h \
    languageselectorbutton.h \
    mainwindownew.h \
    packet.h \
    settingsextrapage.h \
    vbytearray.h \
    commands.h \
    datatypes.h \
    configparams.h \
    configparam.h \
    parametereditor.h \
    digitalfiltering.h \
    bleuart.h \
    utility.h \
    bmsinterface.h \
    visualizationchart.h \
    visualizationpage.h

FORMS    += mainwindow.ui \
    akbmonitorpage.ui \
    bmsservicepage.ui \
    bmssettings.ui \
    bmssettingswidget.ui \
    cellsmonitorpage.ui \
    configurationpage.ui \
    connectandenterpage.ui \
    debugprintpage.ui \
    mainwindownew.ui \
    parametereditor.ui \
    settingsextrapage.ui \
    visualizationpage.ui

include(pages/pages.pri)
include(widgets/widgets.pri)
include(mobile/mobile.pri)

RESOURCES += res.qrc \
    qml/qml_icons.qrc \
    qml/qml_items.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH *= $$PWD/qml
QML2_IMPORT_PATH *= $$PWD/qml

DISTFILES += \
    android/AndroidManifest.xml \
    android/gradle/wrapper/gradle-wrapper.jar \
    android/gradlew \
    android/res/values/libs.xml \
    android/build.gradle \
    android/gradle/wrapper/gradle-wrapper.properties

ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android

ANDROID_ABIS = x86

