CMAKE_MINIMUM_REQUIRED(VERSION 3.12) SET(common_sources base_packet.cpp classes.cpp cli/eqemu_command_handler.cpp compression.cpp condition.cpp content/world_content_service.cpp discord/discord.cpp crash.cpp crc16.cpp crc32.cpp database/database_dump_service.cpp database.cpp database_conversions.cpp database_instances.cpp database/database_update_manifest.cpp database/database_update_manifest_bots.cpp database/database_update.cpp dbcore.cpp deity.cpp dynamic_zone_base.cpp emu_constants.cpp emu_limits.cpp emu_opcodes.cpp emu_versions.cpp eqdb.cpp eqdb_res.cpp eqemu_exception.cpp eqemu_config.cpp eqemu_logsys.cpp eq_limits.cpp eq_packet.cpp eq_stream_ident.cpp eq_stream_proxy.cpp eqtime.cpp event_sub.cpp events/player_event_logs.cpp events/player_event_discord_formatter.cpp expedition_lockout_timer.cpp extprofile.cpp discord/discord_manager.cpp faction.cpp file.cpp guild_base.cpp guilds.cpp inventory_profile.cpp inventory_slot.cpp ipc_mutex.cpp ip_util.cpp item_data.cpp item_instance.cpp json_config.cpp light_source.cpp md5.cpp memory_buffer.cpp memory_mapped_file.cpp misc.cpp misc_functions.cpp mutex.cpp mysql_request_result.cpp mysql_request_row.cpp opcode_map.cpp opcodemgr.cpp packet_dump.cpp packet_dump_file.cpp packet_functions.cpp path_manager.cpp perl_eqdb.cpp perl_eqdb_res.cpp process/process.cpp proc_launcher.cpp profanity_manager.cpp ptimer.cpp races.cpp rdtsc.cpp rulesys.cpp say_link.cpp serialize_buffer.cpp server_event_scheduler.cpp serverinfo.cpp shared_tasks.cpp shareddb.cpp skills.cpp spdat.cpp strings.cpp struct_strategy.cpp textures.cpp timer.cpp unix.cpp platform.cpp json/jsoncpp.cpp zone_store.cpp net/console_server.cpp net/console_server_connection.cpp net/crc32.cpp net/daybreak_connection.cpp net/eqstream.cpp net/packet.cpp net/servertalk_client_connection.cpp net/servertalk_legacy_client_connection.cpp net/servertalk_server.cpp net/servertalk_server_connection.cpp net/tcp_connection.cpp net/tcp_server.cpp net/websocket_server.cpp net/websocket_server_connection.cpp patches/patches.cpp patches/sod.cpp patches/sod_limits.cpp patches/sof.cpp patches/sof_limits.cpp patches/rof.cpp patches/rof_limits.cpp patches/rof2.cpp patches/rof2_limits.cpp patches/titanium.cpp patches/titanium_limits.cpp patches/uf.cpp patches/uf_limits.cpp StackWalker/StackWalker.cpp util/directory.cpp util/uuid.cpp) SET(repositories # Criteria repositories/criteria/content_filter_criteria.h repositories/base/base_grid_repository.h repositories/base/base_grid_entries_repository.h # Base Repositories repositories/base/base_aa_ability_repository.h repositories/base/base_aa_ranks_repository.h repositories/base/base_aa_rank_effects_repository.h repositories/base/base_aa_rank_prereqs_repository.h repositories/base/base_account_repository.h repositories/base/base_account_flags_repository.h repositories/base/base_account_ip_repository.h repositories/base/base_account_rewards_repository.h repositories/base/base_adventure_details_repository.h repositories/base/base_adventure_members_repository.h repositories/base/base_adventure_stats_repository.h repositories/base/base_adventure_template_repository.h repositories/base/base_adventure_template_entry_repository.h repositories/base/base_adventure_template_entry_flavor_repository.h repositories/base/base_alternate_currency_repository.h repositories/base/base_auras_repository.h repositories/base/base_base_data_repository.h repositories/base/base_blocked_spells_repository.h repositories/base/base_books_repository.h repositories/base/base_bugs_repository.h repositories/base/base_bug_reports_repository.h repositories/base/base_buyer_repository.h repositories/base/base_character_activities_repository.h repositories/base/base_character_alternate_abilities_repository.h repositories/base/base_character_alt_currency_repository.h repositories/base/base_character_auras_repository.h repositories/base/base_character_bandolier_repository.h repositories/base/base_character_bind_repository.h repositories/base/base_character_buffs_repository.h repositories/base/base_character_corpses_repository.h repositories/base/base_character_corpse_items_repository.h repositories/base/base_character_currency_repository.h repositories/base/base_character_data_repository.h repositories/base/base_character_disciplines_repository.h repositories/base/base_character_expedition_lockouts_repository.h repositories/base/base_character_exp_modifiers_repository.h repositories/base/base_character_inspect_messages_repository.h repositories/base/base_character_instance_safereturns_repository.h repositories/base/base_character_item_recast_repository.h repositories/base/base_character_languages_repository.h repositories/base/base_character_leadership_abilities_repository.h repositories/base/base_character_material_repository.h repositories/base/base_character_memmed_spells_repository.h repositories/base/base_character_peqzone_flags_repository.h repositories/base/base_character_pet_buffs_repository.h repositories/base/base_character_pet_info_repository.h repositories/base/base_character_pet_inventory_repository.h repositories/base/base_character_potionbelt_repository.h repositories/base/base_character_skills_repository.h repositories/base/base_character_spells_repository.h repositories/base/base_character_tasks_repository.h repositories/base/base_character_task_timers_repository.h repositories/base/base_char_create_combinations_repository.h repositories/base/base_char_create_point_allocations_repository.h repositories/base/base_char_recipe_list_repository.h repositories/base/base_chatchannels_repository.h repositories/base/base_chatchannel_reserved_names_repository.h repositories/base/base_completed_shared_tasks_repository.h repositories/base/base_completed_shared_task_activity_state_repository.h repositories/base/base_completed_shared_task_members_repository.h repositories/base/base_completed_tasks_repository.h repositories/base/base_content_flags_repository.h repositories/base/base_damageshieldtypes_repository.h repositories/base/base_data_buckets_repository.h repositories/base/base_db_str_repository.h repositories/base/base_discord_webhooks_repository.h repositories/base/base_discovered_items_repository.h repositories/base/base_doors_repository.h repositories/base/base_dynamic_zones_repository.h repositories/base/base_dynamic_zone_members_repository.h repositories/base/base_dynamic_zone_templates_repository.h repositories/base/base_expeditions_repository.h repositories/base/base_expedition_lockouts_repository.h repositories/base/base_faction_association_repository.h repositories/base/base_faction_base_data_repository.h repositories/base/base_faction_list_repository.h repositories/base/base_faction_list_mod_repository.h repositories/base/base_faction_values_repository.h repositories/base/base_fishing_repository.h repositories/base/base_forage_repository.h repositories/base/base_friends_repository.h repositories/base/base_global_loot_repository.h repositories/base/base_gm_ips_repository.h repositories/base/base_graveyard_repository.h repositories/base/base_ground_spawns_repository.h repositories/base/base_group_id_repository.h repositories/base/base_group_leaders_repository.h repositories/base/base_guilds_repository.h repositories/base/base_guild_ranks_repository.h repositories/base/base_guild_relations_repository.h repositories/base/base_horses_repository.h repositories/base/base_instance_list_repository.h repositories/base/base_instance_list_player_repository.h repositories/base/base_inventory_repository.h repositories/base/base_inventory_snapshots_repository.h repositories/base/base_ip_exemptions_repository.h repositories/base/base_items_repository.h repositories/base/base_item_tick_repository.h repositories/base/base_ldon_trap_entries_repository.h repositories/base/base_ldon_trap_templates_repository.h repositories/base/base_level_exp_mods_repository.h repositories/base/base_lfguild_repository.h repositories/base/base_login_accounts_repository.h repositories/base/base_login_api_tokens_repository.h repositories/base/base_login_server_admins_repository.h repositories/base/base_login_server_list_types_repository.h repositories/base/base_login_world_servers_repository.h repositories/base/base_logsys_categories_repository.h repositories/base/base_lootdrop_repository.h repositories/base/base_lootdrop_entries_repository.h repositories/base/base_loottable_repository.h repositories/base/base_loottable_entries_repository.h repositories/base/base_mail_repository.h repositories/base/base_merchantlist_repository.h repositories/base/base_merchantlist_temp_repository.h repositories/base/base_name_filter_repository.h repositories/base/base_npc_emotes_repository.h repositories/base/base_npc_faction_repository.h repositories/base/base_npc_faction_entries_repository.h repositories/base/base_npc_scale_global_base_repository.h repositories/base/base_npc_spells_repository.h repositories/base/base_npc_spells_effects_repository.h repositories/base/base_npc_spells_effects_entries_repository.h repositories/base/base_npc_spells_entries_repository.h repositories/base/base_npc_types_repository.h repositories/base/base_npc_types_tint_repository.h repositories/base/base_object_repository.h repositories/base/base_object_contents_repository.h repositories/base/base_perl_event_export_settings_repository.h repositories/base/base_petitions_repository.h repositories/base/base_pets_repository.h repositories/base/base_pets_beastlord_data_repository.h repositories/base/base_pets_equipmentset_repository.h repositories/base/base_pets_equipmentset_entries_repository.h repositories/base/base_player_titlesets_repository.h repositories/base/base_player_event_log_settings_repository.h repositories/base/base_player_event_logs_repository.h repositories/base/base_quest_globals_repository.h repositories/base/base_raid_details_repository.h repositories/base/base_raid_members_repository.h repositories/base/base_reports_repository.h repositories/base/base_respawn_times_repository.h repositories/base/base_rule_sets_repository.h repositories/base/base_rule_values_repository.h repositories/base/base_saylink_repository.h repositories/base/base_server_scheduled_events_repository.h repositories/base/base_shared_tasks_repository.h repositories/base/base_shared_task_activity_state_repository.h repositories/base/base_shared_task_dynamic_zones_repository.h repositories/base/base_shared_task_members_repository.h repositories/base/base_skill_caps_repository.h repositories/base/base_spawn2_repository.h repositories/base/base_spawnentry_repository.h repositories/base/base_spawngroup_repository.h repositories/base/base_spawn_conditions_repository.h repositories/base/base_spawn_condition_values_repository.h repositories/base/base_spawn_events_repository.h repositories/base/base_spells_new_repository.h repositories/base/base_spell_buckets_repository.h repositories/base/base_spell_globals_repository.h repositories/base/base_starting_items_repository.h repositories/base/base_start_zones_repository.h repositories/base/base_tasks_repository.h repositories/base/base_tasksets_repository.h repositories/base/base_task_activities_repository.h repositories/base/base_timers_repository.h repositories/base/base_titles_repository.h repositories/base/base_trader_repository.h repositories/base/base_tradeskill_recipe_repository.h repositories/base/base_tradeskill_recipe_entries_repository.h repositories/base/base_traps_repository.h repositories/base/base_tributes_repository.h repositories/base/base_tribute_levels_repository.h repositories/base/base_veteran_reward_templates_repository.h repositories/base/base_zone_repository.h repositories/base/base_zone_points_repository.h # Extended Repositories repositories/aa_ability_repository.h repositories/aa_ranks_repository.h repositories/aa_rank_effects_repository.h repositories/aa_rank_prereqs_repository.h repositories/account_repository.h repositories/account_flags_repository.h repositories/account_ip_repository.h repositories/account_rewards_repository.h repositories/adventure_details_repository.h repositories/adventure_members_repository.h repositories/adventure_stats_repository.h repositories/adventure_template_repository.h repositories/adventure_template_entry_repository.h repositories/adventure_template_entry_flavor_repository.h repositories/alternate_currency_repository.h repositories/auras_repository.h repositories/base_data_repository.h repositories/blocked_spells_repository.h repositories/books_repository.h repositories/bugs_repository.h repositories/bug_reports_repository.h repositories/buyer_repository.h repositories/character_activities_repository.h repositories/character_alternate_abilities_repository.h repositories/character_alt_currency_repository.h repositories/character_auras_repository.h repositories/character_bandolier_repository.h repositories/character_bind_repository.h repositories/character_buffs_repository.h repositories/character_corpses_repository.h repositories/character_corpse_items_repository.h repositories/character_currency_repository.h repositories/character_data_repository.h repositories/character_disciplines_repository.h repositories/character_expedition_lockouts_repository.h repositories/character_exp_modifiers_repository.h repositories/character_inspect_messages_repository.h repositories/character_instance_safereturns_repository.h repositories/character_item_recast_repository.h repositories/character_languages_repository.h repositories/character_leadership_abilities_repository.h repositories/character_material_repository.h repositories/character_memmed_spells_repository.h repositories/character_peqzone_flags_repository.h repositories/character_pet_buffs_repository.h repositories/character_pet_info_repository.h repositories/character_pet_inventory_repository.h repositories/character_potionbelt_repository.h repositories/character_skills_repository.h repositories/character_spells_repository.h repositories/character_tasks_repository.h repositories/character_task_timers_repository.h repositories/char_create_combinations_repository.h repositories/char_create_point_allocations_repository.h repositories/char_recipe_list_repository.h repositories/chatchannels_repository.h repositories/chatchannel_reserved_names_repository.h repositories/completed_shared_tasks_repository.h repositories/completed_shared_task_activity_state_repository.h repositories/completed_shared_task_members_repository.h repositories/completed_tasks_repository.h repositories/content_flags_repository.h repositories/damageshieldtypes_repository.h repositories/data_buckets_repository.h repositories/db_str_repository.h repositories/discord_webhooks_repository.h repositories/discovered_items_repository.h repositories/doors_repository.h repositories/dynamic_zones_repository.h repositories/dynamic_zone_members_repository.h repositories/dynamic_zone_templates_repository.h repositories/expeditions_repository.h repositories/expedition_lockouts_repository.h repositories/faction_association_repository.h repositories/faction_base_data_repository.h repositories/faction_list_repository.h repositories/faction_list_mod_repository.h repositories/faction_values_repository.h repositories/fishing_repository.h repositories/forage_repository.h repositories/friends_repository.h repositories/global_loot_repository.h repositories/gm_ips_repository.h repositories/graveyard_repository.h repositories/ground_spawns_repository.h repositories/group_id_repository.h repositories/group_leaders_repository.h repositories/guilds_repository.h repositories/guild_ranks_repository.h repositories/guild_relations_repository.h repositories/horses_repository.h repositories/instance_list_repository.h repositories/instance_list_player_repository.h repositories/inventory_repository.h repositories/inventory_snapshots_repository.h repositories/ip_exemptions_repository.h repositories/items_repository.h repositories/item_tick_repository.h repositories/ldon_trap_entries_repository.h repositories/ldon_trap_templates_repository.h repositories/level_exp_mods_repository.h repositories/lfguild_repository.h repositories/login_accounts_repository.h repositories/login_api_tokens_repository.h repositories/login_server_admins_repository.h repositories/login_server_list_types_repository.h repositories/login_world_servers_repository.h repositories/logsys_categories_repository.h repositories/lootdrop_repository.h repositories/lootdrop_entries_repository.h repositories/loottable_repository.h repositories/loottable_entries_repository.h repositories/mail_repository.h repositories/merchantlist_repository.h repositories/merchantlist_temp_repository.h repositories/name_filter_repository.h repositories/npc_emotes_repository.h repositories/npc_faction_repository.h repositories/npc_faction_entries_repository.h repositories/npc_scale_global_base_repository.h repositories/npc_spells_repository.h repositories/npc_spells_effects_repository.h repositories/npc_spells_effects_entries_repository.h repositories/npc_spells_entries_repository.h repositories/npc_types_repository.h repositories/npc_types_tint_repository.h repositories/object_repository.h repositories/object_contents_repository.h repositories/perl_event_export_settings_repository.h repositories/petitions_repository.h repositories/pets_repository.h repositories/pets_beastlord_data_repository.h repositories/pets_equipmentset_repository.h repositories/pets_equipmentset_entries_repository.h repositories/player_titlesets_repository.h repositories/player_event_log_settings_repository.h repositories/player_event_logs_repository.h repositories/quest_globals_repository.h repositories/raid_details_repository.h repositories/raid_members_repository.h repositories/reports_repository.h repositories/respawn_times_repository.h repositories/rule_sets_repository.h repositories/rule_values_repository.h repositories/saylink_repository.h repositories/server_scheduled_events_repository.h repositories/shared_tasks_repository.h repositories/shared_task_activity_state_repository.h repositories/shared_task_dynamic_zones_repository.h repositories/shared_task_members_repository.h repositories/skill_caps_repository.h repositories/spawn2_repository.h repositories/spawnentry_repository.h repositories/spawngroup_repository.h repositories/spawn_conditions_repository.h repositories/spawn_condition_values_repository.h repositories/spawn_events_repository.h repositories/spells_new_repository.h repositories/spell_buckets_repository.h repositories/spell_globals_repository.h repositories/starting_items_repository.h repositories/start_zones_repository.h repositories/tasks_repository.h repositories/tasksets_repository.h repositories/task_activities_repository.h repositories/timers_repository.h repositories/titles_repository.h repositories/trader_repository.h repositories/tradeskill_recipe_repository.h repositories/tradeskill_recipe_entries_repository.h repositories/traps_repository.h repositories/tributes_repository.h repositories/tribute_levels_repository.h repositories/veteran_reward_templates_repository.h repositories/zone_repository.h repositories/zone_points_repository.h ) SET(common_headers additive_lagged_fibonacci_engine.h base_packet.h base_data.h bodytypes.h classes.h compression.h condition.h content/world_content_service.h crash.h crc16.h crc32.h cli/argh.h cli/eqemu_command_handler.h cli/terminal_color.hpp cron/croncpp.h database/database_dump_service.h data_verification.h database.h database_schema.h database/database_update.h dbcore.h deity.h discord/discord.h discord/discord_manager.h dynamic_zone_base.h emu_constants.h emu_limits.h emu_opcodes.h emu_oplist.h emu_versions.h eq_constants.h eq_packet_structs.h eqdb.h eqdb_res.h eqemu_exception.h eqemu_config.h eqemu_config_elements.h eqemu_logsys.h eqemu_logsys_log_aliases.h eq_limits.h eq_packet.h eq_stream_ident.h eq_stream_intf.h eq_stream_locator.h eq_stream_proxy.h eqtime.h events/player_event_logs.h events/player_event_discord_formatter.h events/player_events.h errmsg.h event_sub.h expedition_lockout_timer.h extprofile.h faction.h file.h features.h fixed_memory_hash_set.h fixed_memory_variable_hash_set.h global_define.h guild_base.h guilds.h http/httplib.h http/uri.h inventory_profile.h inventory_slot.h ipc_mutex.h ip_util.h item_data.h item_fieldlist.h item_instance.h json_config.h languages.h light_source.h linked_list.h loottable.h mail_oplist.h md5.h memory_buffer.h memory_mapped_file.h misc.h misc_functions.h mutex.h mysql_request_result.h mysql_request_row.h op_codes.h opcode_dispatch.h opcodemgr.h packet_dump.h packet_dump_file.h packet_functions.h path_manager.cpp platform.h process/process.h proc_launcher.h profanity_manager.h profiler.h ptimer.h queue.h races.h random.h rdtsc.h rulesys.h ruletypes.h say_link.h seperator.h serialize_buffer.h server_event_scheduler.h serverinfo.h servertalk.h shared_tasks.h shareddb.h skills.h spdat.h strings.h struct_strategy.h tasks.h textures.h timer.h types.h unix.h useperl.h version.h zone_store.h event/event_loop.h event/task.h event/timer.h json/json_archive_single_line.h json/json.h json/json-forwards.h net/console_server.h net/console_server_connection.h net/crc32.h net/daybreak_connection.h net/daybreak_structs.h net/dns.h net/endian.h net/eqstream.h net/packet.h net/servertalk_client_connection.h net/servertalk_legacy_client_connection.h net/servertalk_common.h net/servertalk_server.h net/servertalk_server_connection.h net/tcp_connection.h net/tcp_server.h net/websocket_server.h net/websocket_server_connection.h patches/patches.h patches/sod.h patches/sod_limits.h patches/sod_ops.h patches/sod_structs.h patches/sof.h patches/sof_limits.h patches/sof_ops.h patches/sof_structs.h patches/ss_declare.h patches/ss_define.h patches/ss_register.h patches/rof.h patches/rof_limits.h patches/rof_ops.h patches/rof_structs.h patches/rof2.h patches/rof2_limits.h patches/rof2_ops.h patches/rof2_structs.h patches/titanium.h patches/titanium_limits.h patches/titanium_ops.h patches/titanium_structs.h patches/uf.h patches/uf_limits.h patches/uf_ops.h patches/uf_structs.h termcolor/rang.hpp stacktrace/backward.hpp StackWalker/StackWalker.h util/memory_stream.h util/directory.h util/uuid.h ) SOURCE_GROUP(Event FILES event/event_loop.h event/timer.h event/task.h ) SOURCE_GROUP(Json FILES json/json.h json/jsoncpp.cpp json/json-forwards.h ) SOURCE_GROUP(Net FILES net/console_server.cpp net/console_server.h net/console_server_connection.cpp net/console_server_connection.h net/crc32.cpp net/crc32.h net/daybreak_connection.cpp net/daybreak_connection.h net/daybreak_structs.h net/dns.h net/endian.h net/eqmq.cpp net/eqmq.h net/eqstream.cpp net/eqstream.h net/packet.cpp net/packet.h net/servertalk_client_connection.cpp net/servertalk_client_connection.h net/servertalk_legacy_client_connection.cpp net/servertalk_legacy_client_connection.h net/servertalk_common.h net/servertalk_server.cpp net/servertalk_server.h net/servertalk_server_connection.cpp net/servertalk_server_connection.h net/tcp_connection.cpp net/tcp_connection.h net/tcp_server.cpp net/tcp_server.h net/websocket_server.cpp net/websocket_server.h net/websocket_server_connection.cpp net/websocket_server_connection.h ) SOURCE_GROUP(Patches FILES patches/patches.h patches/sod.h patches/sod_limits.h patches/sod_ops.h patches/sod_structs.h patches/sof.h patches/sof_limits.h patches/sof_ops.h patches/sof_structs.h patches/ss_declare.h patches/ss_define.h patches/ss_register.h patches/rof.h patches/rof_limits.h patches/rof_ops.h patches/rof_structs.h patches/rof2.h patches/rof2_limits.h patches/rof2_ops.h patches/rof2_structs.h patches/titanium.h patches/titanium_limits.h patches/titanium_ops.h patches/titanium_structs.h patches/uf.h patches/uf_limits.h patches/uf_ops.h patches/uf_structs.h patches/patches.cpp patches/sod.cpp patches/sod_limits.cpp patches/sof.cpp patches/sof_limits.cpp patches/rof.cpp patches/rof_limits.cpp patches/rof2.cpp patches/rof2_limits.cpp patches/titanium.cpp patches/titanium_limits.cpp patches/uf.cpp patches/uf_limits.cpp ) SOURCE_GROUP(StackWalker FILES StackWalker/StackWalker.h StackWalker/StackWalker.cpp ) SOURCE_GROUP(Util FILES util/memory_stream.h util/directory.cpp util/directory.h util/uuid.cpp util/uuid.h ) INCLUDE_DIRECTORIES(Patches SocketLib StackWalker) ADD_LIBRARY(common ${common_sources} ${common_headers} ${repositories}) IF (UNIX) SET_SOURCE_FILES_PROPERTIES("SocketLib/Mime.cpp" PROPERTY COMPILE_FLAGS -Wno-unused-result) SET_SOURCE_FILES_PROPERTIES("patches/sod.cpp" "patches/sof.cpp" "patches/rof.cpp" "patches/rof2.cpp" "patches/uf.cpp" PROPERTIES COMPILE_FLAGS -O0) ENDIF (UNIX) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)