TEMPLATE = lib
CONFIG += plugin
#CONFIG += c++11 console
#CONFIG -= app_bundle
#QT += widgets
QT -= gui
QT += widgets serialport

INCLUDEPATH += $${PWD}/plugins
INCLUDEPATH += $${PWD}/include

QMAKE_CXXFLAGS += -Wno-deprecated-copy

# default
ARCH = PTU5

include(DCPlugin.pri)

contains( CONFIG, DesktopLinux ) {
    QMAKE_CC = ccache $$QMAKE_CC
    QMAKE_CXX = ccache $$QMAKE_CXX
    QMAKE_CXXFLAGS += -std=c++11
    # QMAKE_CXXFLAGS += -Wno-deprecated-ctor
    linux-clang {  QMAKE_CXXFLAGS += -Qunused-arguments   }
    ARCH = DesktopLinux
}

contains( CONFIG, PTU5 ) {
    # QMAKE_CC = ccache $$QMAKE_CC
    # QMAKE_CXX = ccache $$QMAKE_CXX
    QMAKE_CXXFLAGS += -std=c++11
    linux-clang {  QMAKE_CXXFLAGS += -Qunused-arguments   }
    CONFIG += link_pkgconfig
    ARCH = PTU5
}

contains( CONFIG, PTU5_YOCTO ) {
    greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
    PTU5BASEPATH = /opt/devel/ptu5
    ARCH = PTU5

    # add qmqtt lib
    #LIBS += -lQt5Qmqtt
}

TARGET   = ATBDeviceControllerPlugin
#DESTDIR  = ../plugins
INTERFACE = DeviceController
INTERFACE_DEFINITION = $${PWD}/include/ATBAPP/DeviceControllerInterface.h

DEFINES += DEVICECONTROLLERPLUGIN_LIBRARY

# 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



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

# ATBAPP interface
HEADERS += \
    src/ATBAPP/ATBAPPplugin.h \
    src/ATBAPP/DeviceControllerInterface.h \
    src/ATBAPP/ATBHealthEvent.h \
    src/ATBAPP/ATBDeviceControllerPlugin.h

SOURCES += \
    src/ATBAPP/ATBHealthEvent.cpp \
    src/ATBAPP/ATBDeviceControllerPlugin.cpp

DISTFILES += \
    generate-version.sh


# Define how to create version.h
VERSION_H = $$PWD/include/version.h
version.output = $$PWD/include/version.h
version.commands = $$PWD/generate-version.sh $${ARCH} $${TARGET} $${INTERFACE} $${INTERFACE_DEFINITION} $${VERSION_H}
version.depends = FORCE
version.input = VERSION_H
version.variable_out = HEADERS
QMAKE_EXTRA_COMPILERS += version
QMAKE_CLEAN += $${PWD}/include/version.h