-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathCMakeLists.txt
89 lines (69 loc) · 2.48 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 2.6)
project(freeaoe)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.42 COMPONENTS iostreams program_options REQUIRED)
find_package(SFML COMPONENTS SYSTEM WINDOW GRAPHICS REQUIRED)
find_package(OpenGL REQUIRED)
include_directories(src/
${CMAKE_HOME_DIRECTORY}/extern/genieutils/include
${Boost_INCLUDE_DIRS}
${SFML_INCLUDE_DIR})
add_subdirectory( extern/genieutils )
# additional compiler flags
add_definitions(-Wall)
set(GLOBAL_SRC
src/global/Config.cpp
src/global/FileException.cpp
src/global/Logger.cpp
)
set(RESOURCE_SRC
src/resource/ResourceManager.cpp
src/resource/DataManager.cpp
src/resource/Resource.cpp
src/resource/Graphic.cpp
)
set(MECHANICS_SRC
src/mechanics/Map.cpp
src/mechanics/StateManager.cpp
src/mechanics/GameState.cpp
src/mechanics/ActionMove.cpp
)
set(RENDER_SRC
src/render/IRenderer.cpp
src/render/GraphicRender.cpp
src/render/MapRenderer.cpp
src/render/UnitRenderer.cpp
src/render/SfmlRenderTarget.cpp
)
set(SERVER_SRC
src/server/GameServer.cpp)
set(COMMUNICATION_SRC
src/communication/TunnelToClient.cpp
src/communication/TunnelToServer.cpp
src/communication/commands/CommandMove.cpp
src/communication/UnitStatus.cpp
src/client/GameClient.cpp
src/communication/tunnels/LocalTunnelToServer.cpp
src/communication/tunnels/LocalTunnelToClient.cpp
src/communication/commands/CommandSpawn.cpp )
set(UNSORTED_SRC src/render/Camera.cpp src/resource/Terrain.cpp src/render/ActAnimate.cpp src/mechanics/CompUnitData.cpp src/mechanics/EntityManager.cpp src/mechanics/CompMapObject.cpp src/core/IAction.cpp src/mechanics/EntityFactory.cpp src/core/IComponent.cpp src/core/Entity.cpp
)
add_executable(freeaoe src/Engine.cpp src/main.cpp
${RESOURCE_SRC}
${GLOBAL_SRC}
${MECHANICS_SRC}
${RENDER_SRC}
# ${SERVER_SRC}
# ${COMMUNICATION_SRC}
${UNSORTED_SRC})
target_link_libraries(freeaoe
${SFML_WINDOW_LIBRARY}
${SFML_SYSTEM_LIBRARY}
${SFML_GRAPHICS_LIBRARY}
#${Genieutils_LIBRARY}
genieutils
)
add_subdirectory(src)