2D Run-and-gun shooter inspired by One Man's Doomsday, Counter-Strike, and Metal Slug.
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

252 líneas
8.4 KiB

  1. cmake_minimum_required(VERSION 3.21)
  2. # Set your project name here
  3. project(izanagi C)
  4. set(CMAKE_C_STANDARD 11)
  5. if (WIN32)
  6. if (CMAKE_SIZEOF_VOID_P EQUAL 8)
  7. set(PROJECT_ARCH x64)
  8. else ()
  9. set(PROJECT_ARCH x86)
  10. endif ()
  11. endif ()
  12. add_definitions(-DIZ_APP_NAME="Izanagi" -DIZ_PLAYERS=1)
  13. if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
  14. add_definitions(-DIZ_DEBUG)
  15. endif()
  16. include_directories(
  17. "${PROJECT_SOURCE_DIR}/dependencies/SDL2/include"
  18. "${PROJECT_SOURCE_DIR}/dependencies/minIni/dev"
  19. "${PROJECT_SOURCE_DIR}/dependencies/bdd-for-c"
  20. "${PROJECT_SOURCE_DIR}/dependencies/portmidi/pm_common"
  21. "${PROJECT_SOURCE_DIR}/dependencies/spine-runtimes/spine-c/spine-c/include"
  22. "${PROJECT_SOURCE_DIR}/dependencies/getopt-for-windows"
  23. "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/include"
  24. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/include"
  25. )
  26. link_directories(
  27. "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${PROJECT_ARCH}"
  28. "${PROJECT_SOURCE_DIR}/dependencies/portmidi/Release"
  29. "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/lib/Release"
  30. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/lib"
  31. )
  32. add_executable(
  33. game
  34. dependencies/minIni/dev/minIni.h
  35. dependencies/minIni/dev/minIni.c
  36. dependencies/getopt-for-windows/getopt.h
  37. dependencies/getopt-for-windows/getopt.c
  38. src/packages/game/output/IZ_video.h
  39. src/packages/game/output/IZ_video.c
  40. src/packages/game/IZ_common.h
  41. src/packages/game/input/IZ_action.h
  42. src/packages/game/IZ_app.h
  43. src/packages/game/IZ_app.c
  44. src/packages/game/main.c
  45. src/packages/game/input/IZ_joystick.c
  46. src/packages/game/input/IZ_joystick.h
  47. src/packages/game/input/IZ_keyboard.c
  48. src/packages/game/input/IZ_keyboard.h
  49. src/packages/game/IZ_config.c
  50. src/packages/game/IZ_config.h
  51. src/packages/game/geometry/IZ_point2d.c
  52. src/packages/game/geometry/IZ_point2d.h
  53. src/packages/game/geometry/IZ_vector2d.c
  54. src/packages/game/geometry/IZ_vector2d.h
  55. src/packages/game/geometry/IZ_rect.c
  56. src/packages/game/geometry/IZ_rect.h
  57. src/packages/game/core/IZ_object.c
  58. src/packages/game/core/IZ_object.h
  59. src/packages/game/core/IZ_creature.c
  60. src/packages/game/core/IZ_creature.h
  61. src/packages/game/core/IZ_entity.c
  62. src/packages/game/core/IZ_entity.h
  63. src/packages/game/memory/IZ_pool.c
  64. src/packages/game/memory/IZ_pool.h
  65. src/packages/game/input/IZ_input.c
  66. src/packages/game/input/IZ_input.h
  67. src/packages/game/input/IZ_midi.c
  68. src/packages/game/input/IZ_midi.h
  69. src/packages/game/data/IZ_list.c
  70. src/packages/game/data/IZ_list.h
  71. src/packages/game/net/svc/IZ_wsclient.c
  72. src/packages/game/net/svc/IZ_wsclient.h
  73. src/packages/game/log/IZ_log.c
  74. src/packages/game/log/IZ_log.h
  75. src/packages/game/util/IZ_midi.c
  76. src/packages/game/util/IZ_midi.h
  77. src/packages/game/net/core/IZ_websocket.h
  78. src/packages/game/net/core/IZ_websocket.c
  79. )
  80. target_link_libraries(
  81. game
  82. SDL2main
  83. SDL2
  84. portmidi
  85. libcrypto
  86. libssl
  87. websockets
  88. )
  89. add_executable(
  90. game-test-geometry
  91. dependencies/bdd-for-c/bdd-for-c.h
  92. src/packages/test/IZ_mock.h
  93. src/packages/test/IZ_test.h
  94. src/packages/game/geometry/IZ_point2d.h
  95. src/packages/game/geometry/IZ_point2d.c
  96. src/packages/game/geometry/IZ_rect.h
  97. src/packages/game/geometry/IZ_rect.c
  98. src/packages/game/geometry/IZ_vector2d.h
  99. src/packages/game/geometry/IZ_vector2d.c
  100. src/packages/game/geometry/geometry.test.c
  101. )
  102. add_executable(
  103. game-test-input
  104. dependencies/bdd-for-c/bdd-for-c.h
  105. src/packages/test/IZ_mock.h
  106. src/packages/test/IZ_test.h
  107. __mocks__/minIni.mock.h
  108. __mocks__/SDL_keyboard.mock.h
  109. __mocks__/SDL_events.mock.h
  110. __mocks__/SDL_joystick.mock.h
  111. __mocks__/SDL_stdinc.mock.h
  112. __mocks__/portmidi.mock.h
  113. src/packages/game/IZ_config.h
  114. src/packages/game/input/IZ_keyboard.h
  115. src/packages/game/input/IZ_keyboard.c
  116. src/packages/game/input/IZ_joystick.h
  117. src/packages/game/input/IZ_joystick.c
  118. src/packages/game/input/IZ_midi.h
  119. src/packages/game/input/IZ_midi.c
  120. src/packages/game/util/IZ_midi.c
  121. src/packages/game/util/IZ_midi.h
  122. src/packages/game/input/input.test.c
  123. )
  124. add_executable(
  125. game-test-output
  126. dependencies/bdd-for-c/bdd-for-c.h
  127. src/packages/test/IZ_mock.h
  128. src/packages/test/IZ_test.h
  129. __mocks__/minIni.mock.h
  130. __mocks__/SDL_stdinc.mock.h
  131. __mocks__/SDL_render.mock.h
  132. src/packages/game/IZ_config.h
  133. src/packages/game/output/IZ_video.h
  134. src/packages/game/output/IZ_video.c
  135. src/packages/game/output/output.test.c
  136. )
  137. add_executable(
  138. game-test-memory
  139. dependencies/bdd-for-c/bdd-for-c.h
  140. src/packages/test/IZ_mock.h
  141. src/packages/test/IZ_test.h
  142. src/packages/game/memory/IZ_pool.h
  143. src/packages/game/memory/IZ_pool.c
  144. src/packages/game/memory/memory.test.c
  145. src/packages/game/data/IZ_list.c
  146. src/packages/game/data/IZ_list.h
  147. )
  148. add_executable(
  149. game-test-data
  150. dependencies/bdd-for-c/bdd-for-c.h
  151. src/packages/test/IZ_mock.h
  152. src/packages/test/IZ_test.h
  153. src/packages/game/data/IZ_list.h
  154. src/packages/game/data/IZ_list.c
  155. src/packages/game/data/data.test.c
  156. )
  157. add_executable(
  158. server
  159. dependencies/minIni/dev/minIni.h
  160. dependencies/minIni/dev/minIni.c
  161. src/packages/server/IZ_common.h
  162. src/packages/server/log/IZ_log.h
  163. src/packages/server/log/IZ_log.c
  164. src/packages/server/main.c
  165. src/packages/server/IZ_app.c
  166. src/packages/server/IZ_app.h
  167. src/packages/server/IZ_config.c
  168. src/packages/server/IZ_config.h
  169. src/packages/server/net/svc/IZ_wsserver.c
  170. src/packages/server/net/svc/IZ_wsserver.h
  171. src/packages/server/net/core/IZ_websocket.h
  172. src/packages/server/net/core/IZ_websocket.c
  173. )
  174. target_link_libraries(
  175. server
  176. SDL2main
  177. SDL2
  178. libcrypto
  179. libssl
  180. websockets
  181. )
  182. if (WIN32)
  183. add_custom_command(TARGET game POST_BUILD
  184. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  185. "${PROJECT_SOURCE_DIR}/dependencies/SDL2/lib/${PROJECT_ARCH}/SDL2.dll" # <--this is in-file
  186. $<TARGET_FILE_DIR:game>) # <--this is out-file path
  187. add_custom_command(TARGET game POST_BUILD
  188. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  189. "${PROJECT_SOURCE_DIR}/dependencies/portmidi/Release/portmidi.dll" # <--this is in-file
  190. $<TARGET_FILE_DIR:game>) # <--this is out-file path
  191. add_custom_command(TARGET game POST_BUILD
  192. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  193. "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/bin/Release/websockets.dll" # <--this is in-file
  194. $<TARGET_FILE_DIR:game>) # <--this is out-file path
  195. add_custom_command(TARGET game POST_BUILD
  196. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  197. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libssl-1_1-x64.dll" # <--this is in-file
  198. $<TARGET_FILE_DIR:game>) # <--this is out-file path
  199. add_custom_command(TARGET game POST_BUILD
  200. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  201. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" # <--this is in-file
  202. $<TARGET_FILE_DIR:game>) # <--this is out-file path
  203. add_custom_command(TARGET server POST_BUILD
  204. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  205. "${PROJECT_SOURCE_DIR}/dependencies/libwebsockets/build/bin/Release/websockets.dll" # <--this is in-file
  206. $<TARGET_FILE_DIR:server>) # <--this is out-file path
  207. add_custom_command(TARGET server POST_BUILD
  208. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  209. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libssl-1_1-x64.dll" # <--this is in-file
  210. $<TARGET_FILE_DIR:server>) # <--this is out-file path
  211. add_custom_command(TARGET server POST_BUILD
  212. COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..."
  213. "${PROJECT_SOURCE_DIR}/dependencies/openssl/${PROJECT_ARCH}/bin/libcrypto-1_1-x64.dll" # <--this is in-file
  214. $<TARGET_FILE_DIR:server>) # <--this is out-file path
  215. endif ()