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

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

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

# 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/

##create_res_folder.target = $$OUT_PWD/res
#QMAKE_EXTRA_TARGETS += createFolder
#createFolder.target = createResFolder
#createFolder.commands =

#POST_TARGETDEPS += createResFolder

#QMAKE_PRE_LINK = $(MKDIR) $$OUT_PWD/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)
    }

win32 {
    guiRes.commands += rcc.exe -binary $$PWD/res/hotseatgame/game_ui.qrc -o $$DESTDIR/res/game_ui_data.gtr $$escape_expand(\n\t) \
                       rcc.exe -binary $$PWD/res/hotseatgame/units.qrc -o $$DESTDIR/res/unit_data.gtr $$escape_expand(\n\t) \
                       rcc.exe -binary $$PWD/res/hotseatgame/effects.qrc -o $$DESTDIR/res/effect_data.gtr $$escape_expand(\n\t) \
                       rcc.exe -binary $$PWD/res/hotseatgame/spells.qrc -o $$DESTDIR/res/spell_data.gtr
}

unix {
    guiRes.commands += rcc -binary $$PWD/res/hotseatgame/game_ui.qrc -o $$DESTDIR/res/game_ui_data.gtr $$escape_expand(\n\t) \
                       rcc -binary $$PWD/res/hotseatgame/units.qrc -o $$DESTDIR/res/unit_data.gtr $$escape_expand(\n\t) \
                       rcc -binary $$PWD/res/hotseatgame/effects.qrc -o $$DESTDIR/res/effect_data.gtr $$escape_expand(\n\t) \
                       rcc -binary $$PWD/res/hotseatgame/spells.qrc -o $$DESTDIR/res/spell_data.gtr
}

QMAKE_EXTRA_TARGETS += guiRes
PRE_TARGETDEPS += BuildResources

# ================================================== #
SOURCES += \
    source/main.cpp \
    source/effects/effect.cpp \
    source/gui/guiscenemanager.cpp \
    source/gui/loadingform.cpp \
    source/gui/mainmenu.cpp \
    source/gui/scene.cpp \
    source/hotseatgame/gui/hotseatgame.cpp \
    source/hotseatgame/gui/playervsplayerintro.cpp \
    source/hotseatgame/gui/prebattlescene.cpp \
    source/hotseatgame/gui/raceicon.cpp \
    source/hotseatgame/gui/recruitmentscene.cpp \
    source/hotseatgame/gui/uniticon.cpp \
    source/hotseatgame/gamemanager.cpp \
    source/hotseatgame/unitsqueue.cpp \
    source/units/mage.cpp \
    source/units/unit.cpp \
    source/units/warrior.cpp \
    source/cell.cpp \
    source/playermanager.cpp \
    source/race.cpp \
    source/racemanager.cpp

HEADERS += \
    include/effects/effect.h \
    include/gui/guiscenemanager.h \
    include/gui/loadingform.h \
    include/gui/mainmenu.h \
    include/gui/scene.h \
    include/hotseatgame/gui/hotseatgame.h \
    include/hotseatgame/gui/playervsplayerintro.h \
    include/hotseatgame/gui/prebattlescene.h \
    include/hotseatgame/gui/raceicon.h \
    include/hotseatgame/gui/recruitmentscene.h \
    include/hotseatgame/gui/uniticon.h \
    include/hotseatgame/gamemanager.h \
    include/hotseatgame/unitsqueue.h \
    include/units/mage.h \
    include/units/unit.h \
    include/units/warrior.h \
    include/abstractfactory.h \
    include/cell.h \
    include/player.h \
    include/playermanager.h \
    include/race.h \
    include/racemanager.h

FORMS += \
    include/gui/loadingform.ui \
    include/gui/mainmenu.ui \
    include/hotseatgame/gui/hotseatgame.ui \
    include/hotseatgame/gui/playervsplayerintro.ui \
    include/hotseatgame/gui/prebattlescene.ui \
    include/hotseatgame/gui/recruitmentscene.ui

RESOURCES += \
     res/GUI.qrc \
     res/hotseatgame/game_ui.qrc \
     res/hotseatgame/units.qrc \
     res/hotseatgame/spells.qrc \
     res/hotseatgame/effects.qrc

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