CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

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
	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_deck_download.proto
	response_deck_list.proto
	response_deck_upload.proto
	response_dump_zone.proto
	response_get_games_of_user.proto
	response_get_user_info.proto
	response_join_room.proto
	response_list_users.proto
	response_login.proto
	response_replay_download.proto
	response_replay_list.proto
	response.proto
	room_commands.proto
	room_event.proto
	serverinfo_arrow.proto
	serverinfo_cardcounter.proto
	serverinfo_card.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_zone.proto
	server_message.proto
	session_commands.proto
	session_event.proto
)

find_package(Protobuf REQUIRED)
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 (WIN32)
        set(cockatrice_protocol_LIBS ${cockatrice_protocol_LIBS} -lprotobuf)
endif (WIN32)
target_link_libraries(cockatrice_protocol ${cockatrice_protocol_LIBS})
