CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. set(server_SRCS
  2. StdInc.cpp
  3. battles/BattleActionProcessor.cpp
  4. battles/BattleFlowProcessor.cpp
  5. battles/BattleProcessor.cpp
  6. battles/BattleResultProcessor.cpp
  7. queries/BattleQueries.cpp
  8. queries/CQuery.cpp
  9. queries/MapQueries.cpp
  10. queries/QueriesProcessor.cpp
  11. processors/HeroPoolProcessor.cpp
  12. processors/PlayerMessageProcessor.cpp
  13. processors/TurnOrderProcessor.cpp
  14. EntryPoint.cpp
  15. CGameHandler.cpp
  16. GlobalLobbyProcessor.cpp
  17. ServerSpellCastEnvironment.cpp
  18. CVCMIServer.cpp
  19. NetPacksServer.cpp
  20. NetPacksLobbyServer.cpp
  21. TurnTimerHandler.cpp
  22. )
  23. set(server_HEADERS
  24. StdInc.h
  25. battles/BattleActionProcessor.h
  26. battles/BattleFlowProcessor.h
  27. battles/BattleProcessor.h
  28. battles/BattleResultProcessor.h
  29. queries/BattleQueries.h
  30. queries/CQuery.h
  31. queries/MapQueries.h
  32. queries/QueriesProcessor.h
  33. processors/HeroPoolProcessor.h
  34. processors/PlayerMessageProcessor.h
  35. processors/TurnOrderProcessor.h
  36. CGameHandler.h
  37. GlobalLobbyProcessor.h
  38. ServerSpellCastEnvironment.h
  39. CVCMIServer.h
  40. LobbyNetPackVisitors.h
  41. ServerNetPackVisitors.h
  42. TurnTimerHandler.h
  43. )
  44. assign_source_group(${server_SRCS} ${server_HEADERS})
  45. if(ENABLE_SINGLE_APP_BUILD)
  46. add_library(vcmiserver STATIC ${server_SRCS} ${server_HEADERS})
  47. target_compile_definitions(vcmiserver PUBLIC VCMI_DLL_STATIC=1)
  48. set(server_LIBS vcmi_lib_server)
  49. else()
  50. if(ANDROID)
  51. add_library(vcmiserver SHARED ${server_SRCS} ${server_HEADERS})
  52. else()
  53. add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
  54. endif()
  55. set(server_LIBS vcmi)
  56. endif()
  57. if(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR HAIKU)
  58. set(server_LIBS execinfo ${server_LIBS})
  59. endif()
  60. target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
  61. target_include_directories(vcmiserver
  62. PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
  63. )
  64. if(WIN32)
  65. set_target_properties(vcmiserver
  66. PROPERTIES
  67. OUTPUT_NAME "VCMI_server"
  68. PROJECT_LABEL "VCMI_server"
  69. )
  70. endif()
  71. vcmi_set_output_dir(vcmiserver "")
  72. enable_pch(vcmiserver)
  73. if(NOT ENABLE_SINGLE_APP_BUILD)
  74. if(ANDROID)
  75. install(TARGETS vcmiserver DESTINATION ${LIB_DIR})
  76. else()
  77. install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
  78. endif()
  79. endif()