CMakeLists.txt 1.3 KB

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