CMakeLists.txt 2.0 KB

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