#-------------------------------------------------
#
# Project created by QtCreator 2012-12-06T09:47:25
#
#-------------------------------------------------

QT       += core gui
QT       += network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = ZT
TEMPLATE = app


SOURCES += \
    sources/main.cpp \
    sources/MainPanel.cpp \
    sources/Station.cpp \
    sources/ZTconfigmgr.cpp \
    sources/Zonetest.cpp \
    sources/EngLog.cpp \
    sources/GuiElements/GuiPage.cpp \
    sources/GuiElements/WelcomePage.cpp \
    sources/GuiElements/SimpleTextBoxWidget.cpp \
    sources/Stations/Angrignon.cpp \
    sources/Stations/HonoreBeaugrand.cpp \
    sources/Stations/HenriBourassa.cpp \
    sources/Stations/CoteVertu.cpp \
    sources/Stations/BerriUQAM.cpp \
    sources/Stations/Longueuil.cpp \
    sources/Stations/SaintMichel.cpp \
    sources/Stations/Snowdon.cpp \
    sources/Stations/Montmorency.cpp \
    sources/GuiElements/ZTPage.cpp \
    sources/LazerProbe.cpp \
    sources/LazerProbesMgr.cpp \
    sources/ZTLog.cpp \
    sources/GuiElements/PushButton.cpp \
    sources/ZTStateMachine.cpp \
    sources/ZTData.cpp \
    sources/Simulator/ZTSimulator.cpp \
    sources/GuiElements/CDVItem.cpp \
    sources/IOManager.cpp \
    sources/IOModule.cpp \
    sources/InputModule.cpp \
    sources/OutputModule.cpp \
    sources/MixedModule.cpp \
    sources/Simulator/SimulatorIOManager.cpp \
    sources/Simulator/SimulatorInputModule.cpp \
    sources/Simulator/SImulatorOutputModule.cpp \
    sources/Simulator/SimulatorMixedModule.cpp \
    sources/CDV.cpp \
    sources/AbstractLazerProbeMgr.cpp \
    sources/AbstractLazerProbe.cpp \
    sources/Simulator/SimulatorLazerProbe.cpp \
    sources/Simulator/SimulatorLazerProbesMgr.cpp \
    sources/PCIIOMgr.cpp \
    sources/Simulator/SimulatorPCIIO.cpp \
    sources/GuiElements/ToggleTextButtonWidget.cpp \
    sources/GuiElements/TextButtonWidget.cpp \
    sources/ZT1AnalysisThread.cpp \
    sources/GuiElements/StatusBar.cpp \
    sources/GuiElements/ZT1EquipmentWidget.cpp \
    sources/GuiElements/ZT1StatsZone.cpp \
    sources/Simulator/SimulationScenario.cpp \
    sources/GuiElements/OptionsPage.cpp \
    sources/GuiElements/FunctionSelectionPage.cpp \
    sources/GuiElements/ToggleButtonWidget.cpp \
    sources/GuiElements/EventsBar.cpp \
    sources/GuiElements/EventItem.cpp \
    sources/Event.cpp \
    sources/EventMgr.cpp \
    sources/TrainLogFileMgr.cpp \
    sources/LogMgr.cpp \
    sources/GuiElements/LogsListPage.cpp \
    sources/GuiElements/LogViewPage.cpp \
    sources/GuiElements/GraphItem.cpp \
    sources/GuiElements/GraphCursorWidget.cpp \
    sources/GuiElements/GraphRulerWidget.cpp \
    sources/GuiElements/AnalogGraphItem.cpp \
    sources/ZTSettings.cpp \
    sources/GuiElements/ZT2EquipmentWidget.cpp \
    sources/ZT2AnalysisThread.cpp \
    sources/GuiElements/ZT2StatsZone.cpp \
    sources/TKGenerator.cpp \
    sources/GuiElements/LedWidget.cpp \
    sources/GuiElements/RankRulerWidget.cpp \
    sources/GuiElements/EngineeringPage.cpp \
    sources/GuiElements/PasswordPrompt.cpp \
    sources/GuiElements/EventsRulerWidget.cpp \
    sources/USBDriveInterface.cpp \
    sources/GuiElements/MaintenancePage.cpp \
    sources/Simulator/SimulatorThread.cpp \
    sources/GuiElements/GeneralSettingsPage.cpp \
    sources/GuiElements/ONOFFStatusWidget.cpp \
    sources/GuiElements/ZTLogViewerPage.cpp \
    sources/SwitchCDV.cpp \
    sources/GuiElements/SwitchCDVItem.cpp \
    sources/RamMonitor.cpp \
    sources/ExtIOThread.cpp \
    sources/NetworkManager.cpp \
    sources/TCPProtocol.cpp \
    sources/ExtModules/DI710Driver.cpp \
    sources/AnalogInputModule.cpp \
    sources/PCIIO/PCI1756Interface.cpp \
    sources/ExtModules/USB4704Interface.cpp \
    sources/Stations/Montmorency1012.cpp \
    sources/Stations/Montmorency1022.cpp \
    sources/WatchdogCtrl.cpp \
    sources/TKTransportInterface.cpp \
    sources/DiscreteTKTransport.cpp \
    sources/Modbus/ModbusBackend.cpp \
    sources/Modbus/ModbusMaster.cpp \
    sources/Modbus/ModbusRepository.cpp \
    sources/Modbus/ModbusCCMgr.cpp \
    sources/Modbus/ModbusTKTransport.cpp \
    sources/Stations/DuCollege.cpp \
    sources/GuiElements/EthConnWidget.cpp

HEADERS  += \
    sources/MainPanel.h \
    sources/GlobalDefine.h \
    sources/Station.h \
    sources/ExtModules/Externaliomodule.h \
    sources/ExtModules/Seaio430driver.h \
    sources/ExtModules/Seaio440driver.h \
    sources/ExtModules/Seaio470driver.h \
    sources/ZTconfigmgr.h \
    sources/Zonetest.h \
    sources/ExtModules/Seaiolibinterface.h \
    sources/PCIIO/Comedilibinterface.h \
    sources/PCIIO/PCI1756Definitions.h \
    sources/EngLog.h \
    sources/GuiElements/Guipage.h \
    sources/GuiElements/WelcomePage.h \
    sources/GuiElements/SimpleTextBoxWidget.h \
    sources/Stations/Angrignon.h \
    sources/Stations/HonoreBeaugrand.h \
    sources/Stations/HenriBourassa.h \
    sources/Stations/CoteVertu.h \
    sources/Stations/BerriUQAM.h \
    sources/Stations/Longueuil.h \
    sources/Stations/SaintMichel.h \
    sources/Stations/Snowdon.h \
    sources/Stations/Montmorency.h \
    sources/GuiElements/ZTPage.h \
    sources/LazerProbe.h \
    sources/LazerProbesMgr.h \
    sources/ZTLog.h \
    sources/GuiElements/PushButton.h \
    sources/ZTStateMachine.h \
    sources/ZTData.h \
    sources/Simulator/ZTSimulator.h \
    sources/GuiElements/CDVItem.h \
    sources/ExtModules/ExternalIOMgr.h \
    sources/IOManager.h \
    sources/IOModule.h \
    sources/InputModule.h \
    sources/OutputModule.h \
    sources/MixedModule.h \
    sources/Simulator/SimulatorIOManager.h \
    sources/Simulator/SimulatorInputModule.h \
    sources/Simulator/SImulatorOutputModule.h \
    sources/Simulator/SimulatorMixedModule.h \
    sources/CDV.h \
    sources/AbstractLazerProbeMgr.h \
    sources/AbstractLazerProbe.h \
    sources/Simulator/SimulatorLazerProbe.h \
    sources/Simulator/SimulatorLazerProbesMgr.h \
    sources/PCIIOMgr.h \
    sources/Simulator/SimulatorPCIIO.h \
    sources/GuiElements/ToggleTextButtonWidget.h \
    sources/GuiElements/TextButtonWidget.h \
    sources/ZT1AnalysisThread.h \
    sources/GuiElements/StatusBar.h \
    sources/GuiElements/ZT1EquipmentWidget.h \
    sources/GuiElements/ZT1StatsZone.h \
    sources/Simulator/SimulationScenario.h \
    sources/GuiElements/OptionsPage.h \
    sources/GuiElements/FunctionSelectionPage.h \
    sources/GuiElements/ToggleButtonWidget.h \
    sources/GuiElements/EventsBar.h \
    sources/GuiElements/EventItem.h \
    sources/Event.h \
    sources/EventMgr.h \
    sources/TrainLogFileMgr.h \
    sources/LogMgr.h \
    sources/GuiElements/LogsListPage.h \
    sources/GuiElements/LogViewPage.h \
    sources/GuiElements/GraphItem.h \
    sources/GuiElements/GraphCursorWidget.h \
    sources/GuiElements/GraphRulerWidget.h \
    sources/GuiElements/AnalogGraphItem.h \
    sources/ZTSettings.h \
    sources/GuiElements/ZT2EquipmentWidget.h \
    sources/ZT2AnalysisThread.h \
    sources/GuiElements/ZT2StatsZone.h \
    sources/TKGenerator.h \
    sources/GuiElements/LedWidget.h \
    sources/GuiElements/RankRulerWidget.h \
    sources/GuiElements/EngineeringPage.h \
    sources/GuiElements/PasswordPrompt.h \
    sources/GuiElements/EventsRulerWidget.h \
    sources/USBDriveInterface.h \
    sources/GuiElements/MaintenancePage.h \
    sources/Simulator/SimulatorThread.h \
    sources/GuiElements/GeneralSettingsPage.h \
    sources/ZTVersion.h \
    sources/GuiElements/ONOFFStatusWidget.h \
    sources/GuiElements/ZTLogViewerPage.h \
    sources/SwitchCDV.h \
    sources/GuiElements/SwitchCDVItem.h \
    sources/RamMonitor.h \
    sources/ExtIOThread.h \
    sources/NetworkManager.h \
    sources/TCPProtocol.h \
    sources/ExtModules/DI710Driver.h \
    sources/AnalogInputModule.h \
    sources/PCIIO/PCI1756Interface.h \
    sources/ExtModules/USB4704Definitions.h \
    sources/ExtModules/USB4704Interface.h \
    sources/Stations/Montmorency1012.h \
    sources/Stations/Montmorency1022.h \
    sources/WatchdogCtrl.h \
    sources/TKTransportInterface.h \
    sources/DiscreteTKTransport.h \
    sources/Modbus/ModbusBackend.h \
    sources/Modbus/ModbusMaster.h \
    sources/Modbus/ModbusRepository.h \
    sources/Modbus/ModbusCCMgr.h \
    sources/Modbus/ModbusCCDefs.h \
    sources/Modbus/ModbusTKTransport.h \
    sources/Stations/DuCollege.h \
    sources/GuiElements/EthConnWidget.h

#QMAKE_LIBDIR += ./ExtLib
#QT += network


unix {

SOURCES += \
    sources/ExtModules/Externaliomodule.cpp \
    sources/ExtModules/Seaio430driver.cpp \
    sources/ExtModules/Seaio440driver.cpp \
    sources/ExtModules/Seaio470driver.cpp \
    sources/ExtModules/Seaiolibinterface.cpp \
    sources/PCIIO/Comedilibinterface.cpp \
    sources/ExtModules/ExternalIOMgr.cpp \


    DEFINES = _TTY_POSIX_

# La compilation et l'installation de la librairie de SeaMax crée le fichier /usr/local/lib/libseamax.a
# qui est nécessaire au fonctionnement du programme
    LIBS += /usr/local/lib/libseamax.a

# Utilisation de la librairie libCOMEDI comme interface avec la carte PCI d'entrées/sorties.
    LIBS += -lcomedi
    LIBS += -lbiodaq

    #La ligne ci-dessous doit être commentée lors de la compilation du projet sur le PC prototype de la ZT et elle doit être présente sur la machine virtuelle sur le PC de développement sinon la compilation ne fonctionne pas.
    LIBS += -lftdi
    contains(LIBS,-lftdi){
        warning("ATTENTION: La librairie FTDI est incluse.  Si vous avez une erreur de compilation reliée à cette librairie (sur le PC du prototype de la ZT), commentez la ligne [ LIBS+=-lftdi ] dans le fichier ZT.pro")
    }


    LIBS += $$PWD/sources/SerialPort/libqextserialport.a


}

win32 {
    DEFINES += WINDOWS_OS
    LIBS += $$PWD/sources/SerialPort/Win32/libqextserialport.a
}

#DEFINES += QT_NO_DEBUG_OUTPUT

OTHER_FILES += \
    Images/GuiBackground.jpg \
    LicTemplate.txt \
    Configuration/ZT.cfg \
    StartZT \
    GetSources.sh \
    FTPGetSources.sh \
    FwdPort.sh \
    SetPortCap.sh

INCLUDEPATH += $$PWD/ \
               $$PWD/SeaMaxLinux/ \
               $$PWD/sources/ExtModules/ \
	       $$PWD/sources/ \
               $$PWD/sources/Stations \
	       $$PWD/sources/PCIIO \
               $$PWD/sources/GuiElements \
               $$PWD/sources/SerialPort \
               $$PWD/sources/Simulator \
               $$PWD/sources/QCustomPlot \
               $$PWD/sources/Modbus
