-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
119 lines (107 loc) · 3.61 KB
/
Copy pathCMakeLists.txt
File metadata and controls
119 lines (107 loc) · 3.61 KB
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
cmake_minimum_required(VERSION 3.27)
project(2025_I2P2_TowerDefense)
set(CMAKE_CXX_STANDARD 17)
include_directories(.)
include_directories(Resource)
file(COPY Resource/audios DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY Resource/fonts DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY Resource/images DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY Resource DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY allegro_monolith-5.2.dll DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_executable(2025_I2P2_TowerDefense
Bullet/Bullet.cpp
Bullet/Bullet.hpp
Bullet/FireBullet.cpp
Bullet/FireBullet.hpp
Bullet/LaserBullet.cpp
Bullet/LaserBullet.hpp
# TODO HACKATHON-3 (3/3): DONE Add the new enemy source files here
Enemy/Enemy.cpp
Enemy/Enemy.hpp
Enemy/SoldierEnemy.cpp
Enemy/SoldierEnemy.hpp
Enemy/NinjaEnemy.cpp
Enemy/NinjaEnemy.hpp
Enemy/PlaneEnemy.cpp
Enemy/PlaneEnemy.hpp
Enemy/TankEnemy.cpp
Enemy/TankEnemy.hpp
Engine/Allegro5Exception.cpp
Engine/Allegro5Exception.hpp
Engine/AudioHelper.cpp
Engine/AudioHelper.hpp
Engine/Collider.cpp
Engine/Collider.hpp
Engine/GameEngine.cpp
Engine/GameEngine.hpp
Engine/Group.cpp
Engine/Group.hpp
Engine/IControl.cpp
Engine/IControl.hpp
Engine/IObject.cpp
Engine/IObject.hpp
Engine/IScene.cpp
Engine/IScene.hpp
Engine/LOG.cpp
Engine/LOG.hpp
Engine/Point.cpp
Engine/Point.hpp
Engine/Resources.cpp
Engine/Resources.hpp
Engine/Sprite.cpp
Engine/Sprite.hpp
# TODO HACKATHON-2 (3/3): DONE Add the new scene source files here
Scene/LoseScene.cpp
Scene/LoseScene.hpp
Scene/PlayScene.cpp
Scene/PlayScene.hpp
Scene/SettingsScene.cpp
Scene/SettingsScene.hpp
Scene/StageSelectScene.cpp
Scene/StageSelectScene.hpp
Scene/StartScene.cpp
Scene/StartScene.h
Scene/WinScene.cpp
Scene/WinScene.hpp
Scene/ScoreboardScene.cpp
Scene/ScoreboardScene.hpp
Turret/LaserTurret.cpp
Turret/LaserTurret.hpp
Turret/MachineGunTurret.cpp
Turret/MachineGunTurret.hpp
Turret/Turret.cpp
Turret/Turret.hpp
Turret/TurretButton.cpp
Turret/TurretButton.hpp
Turret/BuffTower.cpp
Turret/BuffTower.hpp
UI/Animation/DirtyEffect.cpp
UI/Animation/DirtyEffect.hpp
UI/Animation/ExplosionEffect.cpp
UI/Animation/ExplosionEffect.hpp
UI/Animation/Plane.cpp
UI/Animation/Plane.hpp
UI/Component/Image.cpp
UI/Component/Image.hpp
UI/Component/ImageButton.cpp
UI/Component/ImageButton.hpp
UI/Component/Label.cpp
UI/Component/Label.hpp
UI/Component/Slider.cpp
UI/Component/Slider.hpp
main.cpp
)
IF (WIN32)
target_include_directories(2025_I2P2_TowerDefense PUBLIC C:/allegro/include)
target_link_directories(2025_I2P2_TowerDefense PUBLIC C:/allegro/lib)
target_compile_options(2025_I2P2_TowerDefense PUBLIC ${ALLEGRO5_CFLAGS_OTHER})
target_link_libraries(2025_I2P2_TowerDefense liballegro_monolith)
ELSE()
find_package(PkgConfig)
pkg_check_modules(ALLEGRO5 REQUIRED allegro-5 allegro_main-5 allegro_font-5 allegro_dialog-5 allegro_primitives-5 allegro_image-5 allegro_ttf-5 allegro_audio-5 allegro_acodec-5)
target_include_directories(2025_I2P2_TowerDefense PUBLIC lib)
target_include_directories(2025_I2P2_TowerDefense PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
target_compile_options(2025_I2P2_TowerDefense PUBLIC ${ALLEGRO5_CFLAGS_OTHER})
target_link_libraries(2025_I2P2_TowerDefense ${ALLEGRO5_LIBRARIES})
target_link_directories(2025_I2P2_TowerDefense PUBLIC ${ALLEGRO5_LIBRARY_DIRS})
ENDIF()