mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-12 10:03:53 +02:00
fd97b51183
when building vcmi_lib statically (or linking against static vcmi_lib) do not place dllexport/dllimport tags
57 lines
1.2 KiB
CMake
57 lines
1.2 KiB
CMake
set(server_SRCS
|
|
StdInc.cpp
|
|
|
|
CGameHandler.cpp
|
|
CQuery.cpp
|
|
CVCMIServer.cpp
|
|
NetPacksServer.cpp
|
|
NetPacksLobbyServer.cpp
|
|
)
|
|
|
|
set(server_HEADERS
|
|
StdInc.h
|
|
|
|
CGameHandler.h
|
|
CQuery.h
|
|
CVCMIServer.h
|
|
)
|
|
|
|
assign_source_group(${server_SRCS} ${server_HEADERS})
|
|
|
|
if(ANDROID) # android needs client/server to be libraries, not executables, so we can't reuse the build part of this script
|
|
return()
|
|
endif()
|
|
|
|
if(ENABLE_SINGLE_APP_BUILD)
|
|
add_library(vcmiserver STATIC ${server_SRCS} ${server_HEADERS})
|
|
target_compile_definitions(vcmiserver PUBLIC VCMI_DLL_STATIC=1)
|
|
set(server_LIBS vcmi_lib_server)
|
|
else()
|
|
add_executable(vcmiserver ${server_SRCS} ${server_HEADERS})
|
|
set(server_LIBS vcmi)
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
|
set(server_LIBS execinfo ${server_LIBS})
|
|
endif()
|
|
target_link_libraries(vcmiserver PRIVATE ${server_LIBS} minizip::minizip)
|
|
|
|
target_include_directories(vcmiserver
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
if(WIN32)
|
|
set_target_properties(vcmiserver
|
|
PROPERTIES
|
|
OUTPUT_NAME "VCMI_server"
|
|
PROJECT_LABEL "VCMI_server"
|
|
)
|
|
endif()
|
|
|
|
vcmi_set_output_dir(vcmiserver "")
|
|
enable_pch(vcmiserver)
|
|
|
|
if(NOT ENABLE_SINGLE_APP_BUILD)
|
|
install(TARGETS vcmiserver DESTINATION ${BIN_DIR})
|
|
endif()
|