summaryrefslogtreecommitdiff
path: root/examples/demos/maroon/CMakeLists.txt
blob: 0b05d88027db3a800ad53fe6789aa38717db18fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

cmake_minimum_required(VERSION 3.16)
project(maroon LANGUAGES CXX)

set(CMAKE_AUTOMOC ON)

if(NOT DEFINED INSTALL_EXAMPLESDIR)
    set(INSTALL_EXAMPLESDIR "examples")
endif()

set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/demos/maroon")

find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick)

qt_add_executable(maroon
    main.cpp
)

set_target_properties(maroon PROPERTIES
    WIN32_EXECUTABLE TRUE
    MACOSX_BUNDLE TRUE
)

target_link_libraries(maroon PUBLIC
    Qt::Core
    Qt::Gui
    Qt::Qml
    Qt::Quick
)

# Resources:
set(maroon_resource_files
    "content/BuildButton.qml"
    "content/GameCanvas.qml"
    "content/GameOverScreen.qml"
    "content/InfoBar.qml"
    "content/NewGameScreen.qml"
    "content/SoundEffect.qml"
    "content/audio/bomb-action.wav"
    "content/audio/catch-action.wav"
    "content/audio/catch.wav"
    "content/audio/currency.wav"
    "content/audio/factory-action.wav"
    "content/audio/melee-action.wav"
    "content/audio/projectile-action.wav"
    "content/audio/shooter-action.wav"
    "content/gfx/background.png"
    "content/gfx/bomb-action.png"
    "content/gfx/bomb-idle.png"
    "content/gfx/bomb.png"
    "content/gfx/button-help.png"
    "content/gfx/button-play.png"
    "content/gfx/catch-action.png"
    "content/gfx/catch.png"
    "content/gfx/cloud.png"
    "content/gfx/currency.png"
    "content/gfx/dialog-bomb.png"
    "content/gfx/dialog-factory.png"
    "content/gfx/dialog-melee.png"
    "content/gfx/dialog-pointer.png"
    "content/gfx/dialog-shooter.png"
    "content/gfx/dialog.png"
    "content/gfx/factory-action.png"
    "content/gfx/factory-idle.png"
    "content/gfx/factory.png"
    "content/gfx/grid.png"
    "content/gfx/help.png"
    "content/gfx/lifes.png"
    "content/gfx/logo-bubble.png"
    "content/gfx/logo-fish.png"
    "content/gfx/logo.png"
    "content/gfx/melee-action.png"
    "content/gfx/melee-idle.png"
    "content/gfx/melee.png"
    "content/gfx/mob-idle.png"
    "content/gfx/mob.png"
    "content/gfx/points.png"
    "content/gfx/projectile-action.png"
    "content/gfx/projectile.png"
    "content/gfx/scores.png"
    "content/gfx/shooter-action.png"
    "content/gfx/shooter-idle.png"
    "content/gfx/shooter.png"
    "content/gfx/sunlight.png"
    "content/gfx/text-1.png"
    "content/gfx/text-2.png"
    "content/gfx/text-3.png"
    "content/gfx/text-blank.png"
    "content/gfx/text-gameover.png"
    "content/gfx/text-go.png"
    "content/gfx/wave.png"
    "content/logic.js"
    "content/mobs/MobBase.qml"
    "content/towers/Bomb.qml"
    "content/towers/Factory.qml"
    "content/towers/Melee.qml"
    "content/towers/Ranged.qml"
    "content/towers/TowerBase.qml"
    "maroon.qml"
)

qt6_add_resources(maroon "maroon"
    PREFIX
        "/demos/maroon"
    FILES
        ${maroon_resource_files}
)

if(TARGET Qt::Multimedia)
    target_link_libraries(maroon PUBLIC
        Qt::Multimedia
    )
endif()

install(TARGETS maroon
    RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
    BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
    LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)