-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
142 lines (129 loc) · 3.94 KB
/
Copy pathCMakeLists.txt
File metadata and controls
142 lines (129 loc) · 3.94 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
cmake_minimum_required(VERSION 3.27)
project(ArenaLegends)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include_directories(.)
include_directories(Resource)
include_directories(boost_1_82_0)
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(
ArenaLegends
main.cpp
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
Engine/GameData.cpp
Engine/GameData.hpp
Engine/UserData.cpp
Engine/UserData.hpp
UI/Component/Circle.cpp
UI/Component/Circle.hpp
UI/Component/CircleBorder.cpp
UI/Component/CircleBorder.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
UI/Component/Rectangle.cpp
UI/Component/Rectangle.hpp
UI/Component/RectangleBorder.cpp
UI/Component/RectangleBorder.hpp
UI/Component/RectangleButton.cpp
UI/Component/RectangleButton.hpp
Scene/LoadScene.cpp
Scene/LoadScene.hpp
Scene/LobbyScene.cpp
Scene/LobbyScene.hpp
Scene/CardSetScene.cpp
Scene/CardSetScene.hpp
Scene/SettingScene.cpp
Scene/SettingScene.hpp
Scene/PlayScene.cpp
Scene/PlayScene.hpp
Tower/Tower.cpp
Tower/Tower.hpp
Tower/MainTower.cpp
Tower/MainTower.hpp
Tower/SideTower.cpp
Tower/SideTower.hpp
Card/Card.cpp
Card/Card.hpp
Card/Army/Knight.cpp
Card/Army/Knight.hpp
Card/Army/Archers.cpp
Card/Army/Archers.hpp
Card/Army/Musketeer.cpp
Card/Army/Musketeer.hpp
Card/Army/Skeletons.cpp
Card/Army/Skeletons.hpp
Card/Army/Giant.cpp
Card/Army/Giant.hpp
Card/Army/Pekka.cpp
Card/Army/Pekka.hpp
Card/Army/Wizard.cpp
Card/Army/Wizard.hpp
Card/Army/HogRider.cpp
Card/Army/HogRider.hpp
Card/Army/Barbarians.cpp
Card/Army/Barbarians.hpp
Card/Spell/Zap.cpp
Card/Spell/Zap.hpp
Card/Spell/Poison.cpp
Card/Spell/Poison.hpp
Card/Spell/Heal.cpp
Card/Spell/Heal.hpp
Entity/Army/Army.cpp
Entity/Army/Army.hpp
Entity/Spell/Spell.cpp
Entity/Spell/Spell.hpp
Weapon/Bullet.cpp
Weapon/Bullet.hpp
Helper/Helper.cpp
Helper/Helper.hpp
Helper/NetworkManager.cpp
Helper/NetworkManager.hpp
)
IF (WIN32)
target_include_directories(ArenaLegends PUBLIC C:/allegro/include)
target_link_directories(ArenaLegends PUBLIC C:/allegro/lib)
target_compile_options(ArenaLegends PUBLIC ${ALLEGRO5_CFLAGS_OTHER})
target_link_libraries(ArenaLegends liballegro_monolith)
target_link_libraries(ArenaLegends ws2_32)
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(ArenaLegends PUBLIC lib)
target_include_directories(ArenaLegends PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
target_compile_options(ArenaLegends PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
target_link_libraries(ArenaLegends ${ALLEGRO5_LIBRARIES})
target_link_directories(ArenaLegends PUBLIC ${ALLEGRO5_LIBRARY_DIRS})
ENDIF()