CMakeLists.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. set(server_SRCS
  2. StdInc.cpp
  3. CGameHandler.cpp
  4. CQuery.cpp
  5. CVCMIServer.cpp
  6. NetPacksServer.cpp
  7. NetPacksLobbyServer.cpp
  8. )
  9. set(server_HEADERS
  10. StdInc.h
  11. CGameHandler.h
  12. CQuery.h
  13. CVCMIServer.h
  14. )
  15. assign_source_group(${server_SRCS} ${server_HEADERS})
  16. if(ANDROID) # android needs client/server to be libraries, not executables, so we can't reuse the build part of this script
  17. return()
  18. endif()
  19. if(BUILD_SINGLE_APP)
  20. add_library(vcmiserver STATIC ${server_SRCS} ${server_HEADERS})
  21. set(server_LIBS vcmi_lib_server)
  22. else()
  23. add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
  24. set(server_LIBS vcmi)
  25. endif()
  26. if(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
  27. set(server_LIBS execinfo ${server_LIBS})
  28. endif()
  29. target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
  30. target_include_directories(vcmiserver
  31. PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
  32. )
  33. if(WIN32)
  34. set_target_properties(vcmiserver
  35. PROPERTIES
  36. OUTPUT_NAME "VCMI_server"
  37. PROJECT_LABEL "VCMI_server"
  38. )
  39. endif()
  40. vcmi_set_output_dir(vcmiserver "")
  41. enable_pch(vcmiserver)
  42. if(NOT BUILD_SINGLE_APP)
  43. install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
  44. endif()