#-------------------------------------------------
#
# Project created by QtCreator 2018-03-07T02:18:16
#
#-------------------------------------------------

QT       += core gui multimedia

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = game
TEMPLATE = app
CONFIG += c++14
CONFIG += resources_big

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as 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 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

INCLUDEPATH += $$PWD/include/
INCLUDEPATH += $$PWD/ui/

# ================================================== #
message(================QT INFO====================)
message(Qt version: $$[QT_VERSION])
message(Qt is installed in $$[QT_INSTALL_PREFIX])
# ================================================== #


message(==========BUILDING EXTERNAL RES============)
win32 {
    build_pass: CONFIG(debug, debug|release) {
        DESTDIR = $$OUT_PWD/debug
    }
    else: build_pass {
        DESTDIR = $$OUT_PWD/release
    }
}

unix {
    DESTDIR = $$OUT_PWD
}

guiRes.target = BuildResources
exists($$DESTDIR/res) {
    message("Directory $$DESTDIR/res already exists")
} else {
    guiRes.commands += $(MKDIR) \"$$DESTDIR/res\" $$escape_expand(\n\t)
    }

EXT_RES =                                                                   \
    "$$PWD/res/main_menu.qrc            -o $$DESTDIR/res/data001.gtr"       \
    "$$PWD/res/hotseat_intro.qrc        -o $$DESTDIR/res/data002.gtr"       \
    "$$PWD/res/hotseat_recruitment.qrc  -o $$DESTDIR/res/data003.gtr"       \
    "$$PWD/res/hotseat_prebattle.qrc    -o $$DESTDIR/res/data004.gtr"       \
    "$$PWD/res/hotseat_game.qrc         -o $$DESTDIR/res/data005.gtr"       \
    "$$PWD/res/effect_data.qrc          -o $$DESTDIR/res/data006.gtr"       \
    "$$PWD/res/spell_data.qrc           -o $$DESTDIR/res/data007.gtr"       \
    "$$PWD/res/unit_data.qrc            -o $$DESTDIR/res/data008.gtr"       \
    "$$PWD/res/common_data.qrc           -o $$DESTDIR/res/data009.gtr"       \

for (RES, EXT_RES) {
    win32 {
        message(rcc.exe -binary $${RES})
        guiRes.commands += rcc.exe -binary $${RES} $$escape_expand(\n\t)
    }
    unix {
        guiRes.commands += rcc -binary $${RES} $$escape_expand(\n\t)
    }
}

QMAKE_EXTRA_TARGETS += guiRes
PRE_TARGETDEPS += BuildResources

# ================================================== #
SOURCES +=                                      \
    source/main.cpp                             \
    source/cell.cpp                             \
    source/playermanager.cpp                    \
    source/race.cpp                             \
    source/racemanager.cpp                      \
    source/soundengine.cpp                      \
                                                \
\    #source/effects/effect.cpp                   \
\    #source/effects/melledamage.cpp              \
\    #source/effects/selfheal.cpp                 \
                                                \
    source/gui/guiscenemanager.cpp              \
    source/gui/scene.cpp                        \
                                                \
    source/hotseatgame/raceicon.cpp             \
    source/hotseatgame/uniticon.cpp             \
    source/hotseatgame/gamemanager.cpp          \
    source/hotseatgame/unitsqueue.cpp           \
                                                \
\   #source/skills/spell.cpp                     \
\   #source/skills/selfheal.cpp                  \
\   #source/skills/melledamage.cpp               \
                                                \
    source/units/mage.cpp                       \
    source/units/unit.cpp                       \
    source/units/warrior.cpp                    \
                                                \
    ui/hotseat_game/hotseatgame.cpp             \
    ui/hotseat_intro/playervsplayerintro.cpp    \
    ui/hotseat_prebattle/prebattlescene.cpp     \
    ui/hotseat_recruitment/recruitmentscene.cpp \
    ui/loading_form/loadingform.cpp             \
    ui/main_menu/mainmenu.cpp                   \
    ui/main_menu/mainmenubackground.cpp \
    source/gui/buttoneventlistener.cpp \
    ui/hotseat_recruitment/iconhint.cpp \
    ui/dialog_form/dialogform.cpp \
    ui/about_us/aboutus.cpp

HEADERS +=                                      \
    include/abstractfactory.h                   \
    include/cell.h                              \
    include/player.h                            \
    include/playermanager.h                     \
    include/race.h                              \
    include/racemanager.h                       \
    include/soundengine.h                       \
                                                \
\    #include/effects/effect.h                    \
\    #include/effects/melledamage.h               \
\    #include/effects/selfheal.h                  \
                                                \
    include/gui/guiscenemanager.h               \
    include/gui/scene.h                         \
    include/gui/buttoneventlistener.h           \
                                                \
    include/hotseatgame/gamemanager.h           \
    include/hotseatgame/raceicon.h              \
    include/hotseatgame/uniticon.h              \
    include/hotseatgame/unitsqueue.h            \
                                                \
\    #include/skills/melledamage.h                \
\    #include/skills/selfheal.h                   \
\    #include/skills/spell.h                      \
                                                \
    include/units/mage.h                        \
    include/units/unit.h                        \
    include/units/warrior.h                     \
                                                \
    ui/hotseat_game/hotseatgame.h               \
    ui/hotseat_intro/playervsplayerintro.h      \
    ui/hotseat_prebattle/prebattlescene.h       \
    ui/hotseat_recruitment/recruitmentscene.h   \
    ui/loading_form/loadingform.h               \
    ui/main_menu/mainmenu.h                     \
    ui/main_menu/mainmenubackground.h           \
    ui/hotseat_recruitment/iconhint.h           \
    ui/dialog_form/dialogform.h                 \
    ui/about_us/aboutus.h

FORMS +=                                        \
    ui/hotseat_game/hotseatgame.ui              \
    ui/hotseat_intro/playervsplayerintro.ui     \
    ui/hotseat_prebattle/prebattlescene.ui      \
    ui/hotseat_recruitment/recruitmentscene.ui  \
    ui/loading_form/loadingform.ui              \
    ui/main_menu/mainmenu.ui \
    ui/main_menu/mainmenubackground.ui \
    ui/dialog_form/dialogform.ui \
    ui/about_us/aboutus.ui


debug {
#CONFIG += console

RESOURCES +=                                    \
    #res/hotseat_intro.qrc                       \
    #res/hotseat_recruitment.qrc                 \
    #res/hotseat_prebattle.qrc                   \
    #res/hotseat_game.qrc                        \
    #res/main_menu.qrc                           \
    #res/hotseat_intro.qrc                       \
                                                \
    #res/effect_data.qrc                         \
    #res/spell_data.qrc                          \
    #res/unit_data.qrc                           \
    #res/common_data.qrc
#    res/all_data.qrc
}

RC_ICONS = $$PWD/assets/common/icon.ico
