2012-07-01 17:27:41 +03:00
|
|
|
set(server_SRCS
|
2014-02-05 23:25:36 +03:00
|
|
|
StdInc.cpp
|
2017-06-29 01:03:37 +02:00
|
|
|
|
2014-07-11 11:01:03 +03:00
|
|
|
CGameHandler.cpp
|
|
|
|
CQuery.cpp
|
2017-06-29 01:03:37 +02:00
|
|
|
CVCMIServer.cpp
|
2014-07-11 11:01:03 +03:00
|
|
|
NetPacksServer.cpp
|
2018-01-05 19:21:07 +02:00
|
|
|
NetPacksLobbyServer.cpp
|
2012-07-01 17:27:41 +03:00
|
|
|
)
|
|
|
|
|
2017-06-29 01:03:37 +02:00
|
|
|
set(server_HEADERS
|
|
|
|
StdInc.h
|
|
|
|
|
|
|
|
CGameHandler.h
|
|
|
|
CQuery.h
|
|
|
|
CVCMIServer.h
|
|
|
|
)
|
2017-08-15 20:17:00 +02:00
|
|
|
|
2021-03-07 14:18:40 +02:00
|
|
|
if(APPLE_IOS)
|
2021-03-10 09:57:07 +02:00
|
|
|
set(server_SRCS ${server_SRCS} ios/main.mm)
|
2021-03-07 14:18:40 +02:00
|
|
|
endif(APPLE_IOS)
|
|
|
|
|
2017-08-15 20:17:00 +02:00
|
|
|
assign_source_group(${server_SRCS} ${server_HEADERS})
|
|
|
|
|
2017-05-25 19:57:20 +02:00
|
|
|
if(ANDROID) # android needs client/server to be libraries, not executables, so we can't reuse the build part of this script
|
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
2021-03-07 14:18:40 +02:00
|
|
|
add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
|
2012-07-01 17:27:41 +03:00
|
|
|
|
2020-10-05 16:57:31 +02:00
|
|
|
set(server_LIBS vcmi)
|
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
|
|
|
set(server_LIBS execinfo ${server_LIBS})
|
2021-03-07 14:18:40 +02:00
|
|
|
elseif(APPLE_IOS)
|
2021-03-09 10:12:17 +02:00
|
|
|
set(server_LIBS ${server_LIBS} "-framework UIKit")
|
2020-10-05 16:57:31 +02:00
|
|
|
endif()
|
2022-05-26 07:55:20 +02:00
|
|
|
target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
|
2012-10-05 15:38:17 +03:00
|
|
|
|
2019-01-19 01:57:54 +02:00
|
|
|
target_include_directories(vcmiserver
|
|
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
)
|
|
|
|
|
2014-07-10 01:06:37 +03:00
|
|
|
if(WIN32)
|
2017-08-15 20:17:00 +02:00
|
|
|
set_target_properties(vcmiserver
|
|
|
|
PROPERTIES
|
|
|
|
OUTPUT_NAME "VCMI_server"
|
|
|
|
PROJECT_LABEL "VCMI_server"
|
|
|
|
)
|
2021-03-07 14:18:40 +02:00
|
|
|
elseif(APPLE_IOS)
|
2021-03-10 09:57:07 +02:00
|
|
|
set_target_properties(vcmiserver PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_LIST_DIR}/ios/Info.plist.in")
|
2021-03-07 14:18:40 +02:00
|
|
|
# TODO: move to a common dir / add macro?
|
2021-03-10 09:57:07 +02:00
|
|
|
target_sources(vcmiserver PRIVATE ${CMAKE_SOURCE_DIR}/client/LaunchScreen.storyboard)
|
2021-03-07 14:18:40 +02:00
|
|
|
set_source_files_properties(${CMAKE_SOURCE_DIR}/client/LaunchScreen.storyboard PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
2014-07-10 01:06:37 +03:00
|
|
|
endif()
|
|
|
|
|
2017-07-04 22:46:49 +02:00
|
|
|
vcmi_set_output_dir(vcmiserver "")
|
2022-06-16 22:02:36 +02:00
|
|
|
enable_pch(vcmiserver)
|
2014-02-05 23:25:36 +03:00
|
|
|
|
2021-03-11 10:52:09 +02:00
|
|
|
if(APPLE_IOS)
|
|
|
|
add_custom_command(TARGET vcmiserver POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} --install "${CMAKE_BINARY_DIR}" --config "$<CONFIG>" --prefix "$<TARGET_BUNDLE_CONTENT_DIR:vcmiserver>"
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
|
|
|
|
endif()
|