CMakeLists.txt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. set(server_SRCS
  2. StdInc.cpp
  3. CGameHandler.cpp
  4. HeroPoolProcessor.cpp
  5. PlayerMessageProcessor.cpp
  6. ServerSpellCastEnvironment.cpp
  7. CQuery.cpp
  8. CVCMIServer.cpp
  9. NetPacksServer.cpp
  10. NetPacksLobbyServer.cpp
  11. )
  12. set(server_HEADERS
  13. StdInc.h
  14. CGameHandler.h
  15. HeroPoolProcessor.h
  16. PlayerMessageProcessor.h
  17. ServerSpellCastEnvironment.h
  18. CQuery.h
  19. CVCMIServer.h
  20. LobbyNetPackVisitors.h
  21. ServerNetPackVisitors.h
  22. )
  23. assign_source_group(${server_SRCS} ${server_HEADERS})
  24. if(ENABLE_SINGLE_APP_BUILD)
  25. add_library(vcmiserver STATIC ${server_SRCS} ${server_HEADERS})
  26. target_compile_definitions(vcmiserver PUBLIC VCMI_DLL_STATIC=1)
  27. set(server_LIBS vcmi_lib_server)
  28. else()
  29. if(ANDROID)
  30. add_library(vcmiserver SHARED ${server_SRCS} ${server_HEADERS})
  31. else()
  32. add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
  33. endif()
  34. set(server_LIBS vcmi)
  35. endif()
  36. if(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR HAIKU)
  37. set(server_LIBS execinfo ${server_LIBS})
  38. endif()
  39. target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
  40. target_include_directories(vcmiserver
  41. PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
  42. )
  43. if(WIN32)
  44. set_target_properties(vcmiserver
  45. PROPERTIES
  46. OUTPUT_NAME "VCMI_server"
  47. PROJECT_LABEL "VCMI_server"
  48. )
  49. endif()
  50. vcmi_set_output_dir(vcmiserver "")
  51. enable_pch(vcmiserver)
  52. if(NOT ENABLE_SINGLE_APP_BUILD)
  53. if(ANDROID)
  54. install(TARGETS vcmiserver DESTINATION ${LIB_DIR})
  55. else()
  56. install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
  57. endif()
  58. endif()