CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. LobbyNetPackVisitors.h
  15. ServerNetPackVisitors.h
  16. )
  17. assign_source_group(${server_SRCS} ${server_HEADERS})
  18. if(ENABLE_SINGLE_APP_BUILD)
  19. add_library(vcmiserver STATIC ${server_SRCS} ${server_HEADERS})
  20. target_compile_definitions(vcmiserver PUBLIC VCMI_DLL_STATIC=1)
  21. set(server_LIBS vcmi_lib_server)
  22. else()
  23. if(ANDROID)
  24. add_library(vcmiserver SHARED ${server_SRCS} ${server_HEADERS})
  25. else()
  26. add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
  27. endif()
  28. set(server_LIBS vcmi)
  29. endif()
  30. if(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR HAIKU)
  31. set(server_LIBS execinfo ${server_LIBS})
  32. endif()
  33. target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
  34. target_include_directories(vcmiserver
  35. PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
  36. )
  37. if(WIN32)
  38. set_target_properties(vcmiserver
  39. PROPERTIES
  40. OUTPUT_NAME "VCMI_server"
  41. PROJECT_LABEL "VCMI_server"
  42. )
  43. endif()
  44. vcmi_set_output_dir(vcmiserver "")
  45. enable_pch(vcmiserver)
  46. if(NOT ENABLE_SINGLE_APP_BUILD)
  47. if(ANDROID)
  48. install(TARGETS vcmiserver DESTINATION ${LIB_DIR})
  49. else()
  50. install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
  51. endif()
  52. endif()