11cmake_minimum_required (VERSION 3.10)
22
3- project (base)
3+ project (base) # Main game project
44
5- add_executable (base
5+ # Set source files
6+ add_executable ( base
7+ # Base includes and defines
8+ src/include .hpp
9+ src/define.hpp
10+ src/structs.hpp
11+
12+ # Function of initialasing all data
13+ src/init.hpp
14+ src/init.cpp
15+
16+ # Functions of loading all in-game data
17+ src/dataLoader.hpp
18+ src/dataLoader.cpp
19+
20+ # Base interface
21+ src/baseHud.hpp
22+ src/baseHud.cpp
23+
24+ # Interface of game pausing
25+ src/pause.hpp
26+ src/pause.cpp
27+
28+ # System of initialasing file loading and unloading
29+ src/initFile.hpp
30+ src/initFile.cpp
31+
32+ # In game classes
33+ src/entity.hpp
34+ src/entity.cpp
35+
36+ # Main function
637 src/main.cpp
38+
39+ # Adding game icone
40+ src/set.rc
741)
42+ # Setting static dlls
43+ set (CMAKE_CXX_STANDARD_LIBRARIES "-static-libgcc -static-libstdc++ -lwsock32 -lws2_32 -mwindows ${CMAKE_CSS_STANDARD_LIBRARIES} " )
44+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive" )
845
46+ # Including external libraries
947set (CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
1048
11- set (CMAKE_CXX_STANDARD_LIBRARIES "-static-libgcc -static-libstdc++ -lwsock32 -lws2_32 ${CMAKE_CSS_STANDARD_LIBRARIES} " )
12- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive" )
13-
49+ # Finding place of external libraries
50+ # Including SDL-family
1451find_package (SDL2 REQUIRED)
1552find_package (SDL2_image REQUIRED)
1653find_package (SDL2_ttf REQUIRED)
54+ find_package (SDL2_mixer REQUIRED)
55+ # Including libzip
56+ set (CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR} /lib/cmake" )
57+ find_package (libzip REQUIRED)
1758
18-
19- target_include_directories (base
59+ # Including external included directories
60+ target_include_directories ( base
2061 PUBLIC ${SDL2_INCLUDE_DIRS}
21- PUBLIC ${SDL2IMAGE_INCLUDE_DIRS }
62+ PUBLIC ${SDL2_image_INCLUDE_DIRS }
2263 PUBLIC ${SDL2_ttf_config_path}
64+ PUBLIC ${SDL2_mixer_config_path}
65+ PUBLIC &{libzip_INCLUDE_DIRS}
2366)
2467
68+ # Including linked libraries
2569target_link_libraries (base PUBLIC ${SDL2_LIBRARIES} SDL2_image::SDL2_image mingw32)
2670target_link_libraries (base PUBLIC ${SDL2_LIBRARIES} SDL2_ttf::SDL2_ttf mingw32)
71+ target_link_libraries (base PUBLIC ${SDL2_LIBRARIES} SDL2_mixer::SDL2_mixer mingw32)
72+ target_link_libraries (base PUBLIC ${libzip_LIBRARIES} libzip::zip)
0 commit comments