-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
93 lines (78 loc) · 2.65 KB
/
Copy pathCMakeLists.txt
File metadata and controls
93 lines (78 loc) · 2.65 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
cmake_minimum_required(VERSION 3.15)
add_library(Abyss
# ImGui
${imgui_SOURCE_DIR}/imgui.cpp
${imgui_SOURCE_DIR}/imgui_draw.cpp
${imgui_SOURCE_DIR}/imgui_tables.cpp
${imgui_SOURCE_DIR}/imgui_widgets.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdlrenderer2.cpp
# TODO: depend on it properly
${CASC_SOURCES}
Common/Animation.h
Common/CommandLineOpts.cpp Common/CommandLineOpts.h
Common/Configuration.cpp Common/Configuration.h
Common/JSON.cpp Common/JSON.h
Common/Logging.h
Common/MouseProvider.h
Common/MouseState.cpp Common/MouseState.h
Common/RendererProvider.h
Common/RingBuffer.h
Common/Scene.h
Common/SoundEffectProvider.h
Concepts/Drawable.h
Concepts/FontRenderer.h
DataTypes/DC6.cpp DataTypes/DC6.h
DataTypes/DC6Frame.cpp DataTypes/DC6Frame.h
DataTypes/DS1.cpp DataTypes/DS1.h
DataTypes/DT1.cpp DataTypes/DT1.h
DataTypes/Palette.cpp DataTypes/Palette.h
Enums/BlendMode.h
Enums/MouseButton.h
FileSystem/Provider.h
FileSystem/InputStream.cpp FileSystem/InputStream.h
FileSystem/Direct.cpp FileSystem/Direct.h
FileSystem/MPQ.cpp FileSystem/MPQ.h
FileSystem/CASC.cpp FileSystem/CASC.h
FileSystem/FileLoader.cpp FileSystem/FileLoader.h
MapEngine/MapEngine.cpp MapEngine/MapEngine.h
Streams/AudioStream.cpp Streams/AudioStream.h
Streams/SoundEffect.cpp Streams/SoundEffect.h
Streams/StreamReader.cpp Streams/StreamReader.h
Streams/VideoStream.cpp Streams/VideoStream.h
UI/Button.h
UI/ButtonDef.h
UI/Label.cpp UI/Label.h
UI/SpriteFont.h
Singletons.cpp Singletons.h
AbyssEngine.cpp AbyssEngine.h
)
target_include_directories(Abyss
PUBLIC
${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/..
${imgui_SOURCE_DIR}
${imgui_SOURCE_DIR}/backends
)
target_include_directories(Abyss
PRIVATE
${CascLib_SOURCE_DIR}/src
)
target_compile_features(Abyss PUBLIC cxx_std_20)
target_link_libraries(Abyss
PUBLIC
$<TARGET_NAME_IF_EXISTS:SDL2::SDL2main> $<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
spdlog::spdlog
cxxopts::cxxopts
ZLIB::ZLIB
stormlib::stormlib
absl::flat_hash_map
absl::btree
nlohmann_json::nlohmann_json
${FFMPEG_LIBRARIES}
${OSX_VIDEOTOOLBOX}
${OSX_COREMEDIA}
${OSX_SECURITY}
PRIVATE
rapidjson
)