* set common protobuf files to compile with other tags in debug force the same flags as release on debug builds fixes #3431 * check for version first * use Protobuf_VERSION instead of calling protoc --version * lower verion requirement * set tags to disable certain warnings instead of removing all
179 lines
5.4 KiB
CMake
179 lines
5.4 KiB
CMake
# CMakeLists for common directory
|
|
#
|
|
# provides the protobuf interfaces
|
|
|
|
SET(PROTO_FILES
|
|
admin_commands.proto
|
|
card_attributes.proto
|
|
color.proto
|
|
command_attach_card.proto
|
|
command_change_zone_properties.proto
|
|
command_concede.proto
|
|
command_create_arrow.proto
|
|
command_create_counter.proto
|
|
command_create_token.proto
|
|
command_deck_del_dir.proto
|
|
command_deck_del.proto
|
|
command_deck_download.proto
|
|
command_deck_list.proto
|
|
command_deck_new_dir.proto
|
|
command_deck_select.proto
|
|
command_deck_upload.proto
|
|
command_del_counter.proto
|
|
command_delete_arrow.proto
|
|
command_draw_cards.proto
|
|
command_dump_zone.proto
|
|
command_flip_card.proto
|
|
command_game_say.proto
|
|
command_inc_card_counter.proto
|
|
command_inc_counter.proto
|
|
command_kick_from_game.proto
|
|
command_leave_game.proto
|
|
command_move_card.proto
|
|
command_mulligan.proto
|
|
command_next_turn.proto
|
|
command_ready_start.proto
|
|
command_replay_delete_match.proto
|
|
command_replay_list.proto
|
|
command_replay_download.proto
|
|
command_replay_modify_match.proto
|
|
command_reveal_cards.proto
|
|
command_roll_die.proto
|
|
command_set_active_phase.proto
|
|
command_set_card_attr.proto
|
|
command_set_card_counter.proto
|
|
command_set_counter.proto
|
|
command_set_sideboard_plan.proto
|
|
command_set_sideboard_lock.proto
|
|
command_shuffle.proto
|
|
commands.proto
|
|
command_stop_dump_zone.proto
|
|
command_undo_draw.proto
|
|
context_concede.proto
|
|
context_connection_state_changed.proto
|
|
context_deck_select.proto
|
|
context_move_card.proto
|
|
context_mulligan.proto
|
|
context_ping_changed.proto
|
|
context_ready_start.proto
|
|
context_set_sideboard_lock.proto
|
|
context_undo_draw.proto
|
|
event_add_to_list.proto
|
|
event_attach_card.proto
|
|
event_change_zone_properties.proto
|
|
event_connection_closed.proto
|
|
event_create_arrow.proto
|
|
event_create_counter.proto
|
|
event_create_token.proto
|
|
event_del_counter.proto
|
|
event_delete_arrow.proto
|
|
event_destroy_card.proto
|
|
event_draw_cards.proto
|
|
event_dump_zone.proto
|
|
event_flip_card.proto
|
|
event_game_closed.proto
|
|
event_game_host_changed.proto
|
|
event_game_joined.proto
|
|
event_game_say.proto
|
|
event_game_state_changed.proto
|
|
event_join.proto
|
|
event_join_room.proto
|
|
event_kicked.proto
|
|
event_leave.proto
|
|
event_leave_room.proto
|
|
event_list_games.proto
|
|
event_list_rooms.proto
|
|
event_move_card.proto
|
|
event_player_properties_changed.proto
|
|
event_remove_from_list.proto
|
|
event_replay_added.proto
|
|
event_reveal_cards.proto
|
|
event_roll_die.proto
|
|
event_room_say.proto
|
|
event_server_complete_list.proto
|
|
event_server_identification.proto
|
|
event_server_message.proto
|
|
event_server_shutdown.proto
|
|
event_set_active_phase.proto
|
|
event_set_active_player.proto
|
|
event_set_card_attr.proto
|
|
event_set_card_counter.proto
|
|
event_set_counter.proto
|
|
event_shuffle.proto
|
|
event_stop_dump_zone.proto
|
|
event_user_joined.proto
|
|
event_user_left.proto
|
|
event_user_message.proto
|
|
event_notify_user.proto
|
|
game_commands.proto
|
|
game_event_container.proto
|
|
game_event_context.proto
|
|
game_event.proto
|
|
game_replay.proto
|
|
isl_message.proto
|
|
moderator_commands.proto
|
|
move_card_to_zone.proto
|
|
response_activate.proto
|
|
response_ban_history.proto
|
|
response_deck_download.proto
|
|
response_deck_list.proto
|
|
response_deck_upload.proto
|
|
response_dump_zone.proto
|
|
response_forgotpasswordrequest.proto
|
|
response_get_games_of_user.proto
|
|
response_get_user_info.proto
|
|
response_join_room.proto
|
|
response_list_users.proto
|
|
response_login.proto
|
|
response_register.proto
|
|
response_replay_download.proto
|
|
response_replay_list.proto
|
|
response_adjust_mod.proto
|
|
response_warn_history.proto
|
|
response_warn_list.proto
|
|
response_viewlog_history.proto
|
|
response.proto
|
|
room_commands.proto
|
|
room_event.proto
|
|
serverinfo_arrow.proto
|
|
serverinfo_ban.proto
|
|
serverinfo_cardcounter.proto
|
|
serverinfo_card.proto
|
|
serverinfo_chat_message.proto
|
|
serverinfo_counter.proto
|
|
serverinfo_deckstorage.proto
|
|
serverinfo_game.proto
|
|
serverinfo_gametype.proto
|
|
serverinfo_playerping.proto
|
|
serverinfo_playerproperties.proto
|
|
serverinfo_player.proto
|
|
serverinfo_replay.proto
|
|
serverinfo_replay_match.proto
|
|
serverinfo_room.proto
|
|
serverinfo_user.proto
|
|
serverinfo_warning.proto
|
|
serverinfo_zone.proto
|
|
server_message.proto
|
|
session_commands.proto
|
|
session_event.proto
|
|
)
|
|
|
|
include_directories(${PROTOBUF_INCLUDE_DIRS})
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})
|
|
|
|
add_library(cockatrice_protocol ${PROTO_SRCS} ${PROTO_HDRS})
|
|
set(cockatrice_protocol_LIBS ${PROTOBUF_LIBRARIES})
|
|
if (UNIX)
|
|
set(cockatrice_protocol_LIBS ${cockatrice_protocol_LIBS} -lpthread)
|
|
endif (UNIX)
|
|
target_link_libraries(cockatrice_protocol ${cockatrice_protocol_LIBS})
|
|
|
|
# ubuntu uses an outdated package for protobuf, 3.1.0 is required
|
|
if(${Protobuf_VERSION} VERSION_LESS "3.1.0")
|
|
# remove unused parameter and misleading indentation warnings when compiling to avoid errors
|
|
set(CMAKE_CXX_FLAGS_DEBUG
|
|
"${CMAKE_CXX_FLAGS_DEBUG} -Wno-unused-parameter -Wno-misleading-indentation")
|
|
message(WARNING "Outdated protobuf version found (${Protobuf_VERSION} < 3.1.0), "
|
|
"disabled warnings to avoid compilation errors.")
|
|
endif()
|