eqemu-server/zone/CMakeLists.txt

864 lines
24 KiB
CMake

cmake_minimum_required(VERSION 3.20)
set(zone_sources
aa.cpp
aa_ability.cpp
aggro.cpp
aggromanager.cpp
api_service.cpp
attack.cpp
aura.cpp
beacon.cpp
bonuses.cpp
bot.cpp
bot_raid.cpp
bot_database.cpp
botspellsai.cpp
cheat_manager.cpp
client.cpp
client_evolving_items.cpp
client_bot.cpp
client_mods.cpp
client_packet.cpp
client_process.cpp
cli/cli_benchmark_databuckets.cpp
cli/cli_sidecar_serve_http.cpp
cli/tests/cli_test_util.cpp
cli/tests/cli_databuckets.cpp
cli/tests/cli_npc_handins.cpp
cli/tests/cli_npc_handins_multiquest.cpp
cli/tests/cli_zone_state.cpp
combat_record.cpp
corpse.cpp
doors.cpp
dialogue_window.cpp
dynamic_zone.cpp
effects.cpp
embparser.cpp
embparser_api.cpp
embperl.cpp
encounter.cpp
entity.cpp
exp.cpp
expedition_request.cpp
fastmath.cpp
fearpath.cpp
forage.cpp
groups.cpp
guild.cpp
guild_mgr.cpp
hate_list.cpp
heal_rotation.cpp
horse.cpp
inventory.cpp
loot.cpp
embperl.cpp
entity.cpp
exp.cpp
fearpath.cpp
forage.cpp
global_loot_manager.cpp
groups.cpp
guild.cpp
guild_mgr.cpp
hate_list.cpp
horse.cpp
inventory.cpp
loot.cpp
main.cpp
map.cpp
merc.cpp
mob.cpp
mob_ai.cpp
mob_appearance.cpp
mob_movement_manager.cpp
mob_info.cpp
npc.cpp
npc_scale_manager.cpp
object.cpp
oriented_bounding_box.cpp
parcels.cpp
pathfinder_interface.cpp
pathfinder_nav_mesh.cpp
pathfinder_null.cpp
pathing.cpp
petitions.cpp
pets.cpp
position.cpp
qglobals.cpp
queryserv.cpp
questmgr.cpp
quest_db.cpp
quest_parser_collection.cpp
raids.cpp
raycast_mesh.cpp
sidecar_api/sidecar_api.cpp
sidecar_api/loot_simulator_controller.cpp
shared_task_zone_messaging.cpp
spawn2.cpp
spawn2.h
spawngroup.cpp
special_attacks.cpp
spell_effects.cpp
spells.cpp
task_client_state.cpp
task_manager.cpp
tasks.cpp
titles.cpp
tradeskills.cpp
trading.cpp
trap.cpp
tribute.cpp
tune.cpp
water_map.cpp
water_map_v1.cpp
water_map_v2.cpp
waypoints.cpp
worldserver.cpp
xtargetautohaters.cpp
zone.cpp
zone_config.cpp
zone_loot.cpp
zonedb.cpp
zone_base_data.cpp
zone_event_scheduler.cpp
zone_npc_factions.cpp
zone_reload.cpp
zone_save_state.cpp
zoning.cpp
)
set(zone_headers
aa.h
aa_ability.h
aggromanager.h
api_service.h
aura.h
beacon.h
bot.h
bot_command.h
bot_database.h
bot_structs.h
cheat_manager.h
client.h
client_packet.h
combat_record.h
command.h
common.h
corpse.h
doors.h
dialogue_window.h
dynamic_zone.h
embparser.h
embperl.h
encounter.h
entity.h
event_codes.h
expedition_request.h
fastmath.h
forage.h
global_loot_manager.h
groups.h
guild_mgr.h
hate_list.h
heal_rotation.h
horse.h
lua_bot.h
lua_bit.h
lua_buff.h
lua_client.h
lua_corpse.h
lua_database.h
lua_door.h
lua_encounter.h
lua_entity.h
lua_entity_list.h
lua_expedition.h
lua_general.h
lua_group.h
lua_hate_list.h
lua_inventory.h
lua_item.h
lua_iteminst.h
lua_merc.h
lua_mob.h
lua_mod.h
lua_npc.h
lua_object.h
lua_packet.h
lua_parser.h
lua_parser_events.h
lua_ptr.h
lua_raid.h
lua_spawn.h
lua_spell.h
lua_stat_bonuses.h
lua_zone.h
map.h
masterentity.h
merc.h
mob.h
mob_movement_manager.h
npc.h
npc_scale_manager.h
object.h
oriented_bounding_box.h
pathfinder_interface.h
pathfinder_nav_mesh.h
pathfinder_null.h
perl_database.h
perlpacket.h
petitions.h
pets.h
position.h
qglobals.h
quest_interface.h
queryserv.h
quest_interface.h
questmgr.h
quest_db.h
quest_parser_collection.h
raids.h
raycast_mesh.h
sidecar_api/sidecar_api.h
shared_task_zone_messaging.h
spawn2.cpp
spawn2.h
spawngroup.h
string_ids.h
task_client_state.h
task_manager.h
tasks.h
titles.h
trap.h
water_map.h
water_map_v1.h
water_map_v2.h
worldserver.h
xtargetautohaters.h
zone.h
zone_event_scheduler.h
zone_config.h
zonedb.h
zonedump.h
zone_cli.h
zone_reload.h
zone_save_state.h
zone_cli.cpp)
# lua unity build
set(lua_sources
lua_bot.cpp
lua_bit.cpp
lua_buff.cpp
lua_corpse.cpp
lua_client.cpp
lua_database.cpp
lua_door.cpp
lua_encounter.cpp
lua_entity.cpp
lua_entity_list.cpp
lua_expedition.cpp
lua_general.cpp
lua_group.cpp
lua_hate_list.cpp
lua_inventory.cpp
lua_item.cpp
lua_iteminst.cpp
lua_merc.cpp
lua_mob.cpp
lua_mod.cpp
lua_npc.cpp
lua_object.cpp
lua_packet.cpp
lua_parser.cpp
lua_parser_events.cpp
lua_raid.cpp
lua_spawn.cpp
lua_spell.cpp
lua_stat_bonuses.cpp
lua_zone.cpp
)
add_library(lua_zone STATIC ${lua_sources})
set_target_properties(lua_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
# perl unity build
set(perl_sources
perl_bot.cpp
perl_buff.cpp
perl_client.cpp
perl_database.cpp
perl_doors.cpp
perl_entity.cpp
perl_expedition.cpp
perl_groups.cpp
perl_hateentry.cpp
perl_inventory.cpp
perl_merc.cpp
perl_mob.cpp
perl_npc.cpp
perl_object.cpp
perl_perlpacket.cpp
perl_player_corpse.cpp
perl_questitem.cpp
perl_questitem_data.cpp
perl_raids.cpp
perl_spawn.cpp
perl_spell.cpp
perl_stat_bonuses.cpp
perl_zone.cpp
perlpacket.cpp
)
add_library(perl_zone STATIC ${perl_sources})
set_target_properties(perl_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
# gm commands
set(gm_command_sources
command.cpp
bot_command.cpp
bot_commands/bot_actionable.cpp
bot_commands/bot_appearance.cpp
bot_commands/bot_apply_poison.cpp
bot_commands/bot_apply_potion.cpp
bot_commands/bot_attack.cpp
bot_commands/bot_behind_mob.cpp
bot_commands/bot_blocked_buffs.cpp
bot_commands/bot_bot.cpp
bot_commands/bot_bot_settings.cpp
bot_commands/bot_cast.cpp
bot_commands/bot_class_race_list.cpp
bot_commands/bot_click_item.cpp
bot_commands/bot_copy_settings.cpp
bot_commands/bot_default_settings.cpp
bot_commands/bot_depart.cpp
bot_commands/bot_discipline.cpp
bot_commands/bot_distance_ranged.cpp
bot_commands/bot_find_aliases.cpp
bot_commands/bot_follow.cpp
bot_commands/bot_guard.cpp
bot_commands/bot_heal_rotation.cpp
bot_commands/bot_help.cpp
bot_commands/bot_hold.cpp
bot_commands/bot_illusion_block.cpp
bot_commands/bot_inventory.cpp
bot_commands/bot_item_use.cpp
bot_commands/bot_max_melee_range.cpp
bot_commands/bot_name.cpp
bot_commands/bot_owner_option.cpp
bot_commands/bot_pet.cpp
bot_commands/bot_pick_lock.cpp
bot_commands/bot_pickpocket.cpp
bot_commands/bot_precombat.cpp
bot_commands/bot_pull.cpp
bot_commands/bot_release.cpp
bot_commands/bot_set_assistee.cpp
bot_commands/bot_sit_hp_percent.cpp
bot_commands/bot_sit_in_combat.cpp
bot_commands/bot_sit_mana_percent.cpp
bot_commands/bot_spell.cpp
bot_commands/bot_spell_aggro_checks.cpp
bot_commands/bot_spell_announce_cast.cpp
bot_commands/bot_spell_delays.cpp
bot_commands/bot_spell_engaged_priority.cpp
bot_commands/bot_spell_holds.cpp
bot_commands/bot_spell_idle_priority.cpp
bot_commands/bot_spell_max_hp_pct.cpp
bot_commands/bot_spell_max_mana_pct.cpp
bot_commands/bot_spell_max_thresholds.cpp
bot_commands/bot_spell_min_hp_pct.cpp
bot_commands/bot_spell_min_mana_pct.cpp
bot_commands/bot_spell_min_thresholds.cpp
bot_commands/bot_spell_pursue_priority.cpp
bot_commands/bot_spell_resist_limits.cpp
bot_commands/bot_spell_target_count.cpp
bot_commands/bot_spelltypes.cpp
bot_commands/bot_summon.cpp
bot_commands/bot_suspend.cpp
bot_commands/bot_taunt.cpp
bot_commands/bot_timer.cpp
bot_commands/bot_track.cpp
bot_commands/bot_view_combos.cpp
gm_commands/acceptrules.cpp
gm_commands/advnpcspawn.cpp
gm_commands/aggrozone.cpp
gm_commands/ai.cpp
gm_commands/appearance.cpp
gm_commands/appearanceeffects.cpp
gm_commands/attack.cpp
gm_commands/augmentitem.cpp
gm_commands/ban.cpp
gm_commands/bugs.cpp
gm_commands/camerashake.cpp
gm_commands/castspell.cpp
gm_commands/chat.cpp
gm_commands/clearxtargets.cpp
gm_commands/copycharacter.cpp
gm_commands/corpse.cpp
gm_commands/corpsefix.cpp
gm_commands/countitem.cpp
gm_commands/damage.cpp
gm_commands/databuckets.cpp
gm_commands/dbspawn2.cpp
gm_commands/delacct.cpp
gm_commands/delpetition.cpp
gm_commands/depop.cpp
gm_commands/depopzone.cpp
gm_commands/devtools.cpp
gm_commands/disablerecipe.cpp
gm_commands/disarmtrap.cpp
gm_commands/doanim.cpp
gm_commands/door.cpp
gm_commands/door_manipulation.cpp
gm_commands/dye.cpp
gm_commands/dz.cpp
gm_commands/dzkickplayers.cpp
gm_commands/editmassrespawn.cpp
gm_commands/emote.cpp
gm_commands/emptyinventory.cpp
gm_commands/enablerecipe.cpp
gm_commands/entityvariable.cpp
gm_commands/exptoggle.cpp
gm_commands/faction.cpp
gm_commands/evolving_items.cpp
gm_commands/feature.cpp
gm_commands/find.cpp
gm_commands/find/find_aa.cpp
gm_commands/find/find_account.cpp
gm_commands/find/find_body_type.cpp
gm_commands/find/find_bot.cpp
gm_commands/find/find_bug_category.cpp
gm_commands/find/find_character.cpp
gm_commands/find/find_class.cpp
gm_commands/find/find_comparison_type.cpp
gm_commands/find/find_currency.cpp
gm_commands/find/find_deity.cpp
gm_commands/find/find_emote.cpp
gm_commands/find/find_faction.cpp
gm_commands/find/find_item.cpp
gm_commands/find/find_language.cpp
gm_commands/find/find_ldon_theme.cpp
gm_commands/find/find_npctype.cpp
gm_commands/find/find_object_type.cpp
gm_commands/find/find_race.cpp
gm_commands/find/find_recipe.cpp
gm_commands/find/find_skill.cpp
gm_commands/find/find_special_ability.cpp
gm_commands/find/find_spell.cpp
gm_commands/find/find_stance.cpp
gm_commands/find/find_task.cpp
gm_commands/find/find_zone.cpp
gm_commands/fish.cpp
gm_commands/fixmob.cpp
gm_commands/flagedit.cpp
gm_commands/fleeinfo.cpp
gm_commands/forage.cpp
gm_commands/gearup.cpp
gm_commands/giveitem.cpp
gm_commands/givemoney.cpp
gm_commands/gmzone.cpp
gm_commands/goto.cpp
gm_commands/grantaa.cpp
gm_commands/grid.cpp
gm_commands/guild.cpp
gm_commands/hp.cpp
gm_commands/illusion_block.cpp
gm_commands/instance.cpp
gm_commands/interrogateinv.cpp
gm_commands/interrupt.cpp
gm_commands/invsnapshot.cpp
gm_commands/ipban.cpp
gm_commands/kick.cpp
gm_commands/kill.cpp
gm_commands/killallnpcs.cpp
gm_commands/list.cpp
gm_commands/lootsim.cpp
gm_commands/loc.cpp
gm_commands/logs.cpp
gm_commands/makepet.cpp
gm_commands/memspell.cpp
gm_commands/merchantshop.cpp
gm_commands/modifynpcstat.cpp
gm_commands/movechar.cpp
gm_commands/movement.cpp
gm_commands/myskills.cpp
gm_commands/mysql.cpp
gm_commands/mystats.cpp
gm_commands/npccast.cpp
gm_commands/npcedit.cpp
gm_commands/npceditmass.cpp
gm_commands/npcemote.cpp
gm_commands/npcloot.cpp
gm_commands/npcsay.cpp
gm_commands/npcshout.cpp
gm_commands/npcspawn.cpp
gm_commands/npctypespawn.cpp
gm_commands/nudge.cpp
gm_commands/nukebuffs.cpp
gm_commands/nukeitem.cpp
gm_commands/object.cpp
gm_commands/object_manipulation.cpp
gm_commands/parcels.cpp
gm_commands/path.cpp
gm_commands/peqzone.cpp
gm_commands/petitems.cpp
gm_commands/petname.cpp
gm_commands/picklock.cpp
gm_commands/profanity.cpp
gm_commands/push.cpp
gm_commands/raidloot.cpp
gm_commands/randomfeatures.cpp
gm_commands/refreshgroup.cpp
gm_commands/reload.cpp
gm_commands/removeitem.cpp
gm_commands/repop.cpp
gm_commands/resetaa.cpp
gm_commands/resetaa_timer.cpp
gm_commands/resetdisc_timer.cpp
gm_commands/revoke.cpp
gm_commands/roambox.cpp
gm_commands/rules.cpp
gm_commands/save.cpp
gm_commands/scale.cpp
gm_commands/scribespell.cpp
gm_commands/scribespells.cpp
gm_commands/sendzonespawns.cpp
gm_commands/sensetrap.cpp
gm_commands/serverrules.cpp
gm_commands/set.cpp
gm_commands/set/set_aa_exp.cpp
gm_commands/set/set_aa_points.cpp
gm_commands/set/set_adventure_points.cpp
gm_commands/set/set_alternate_currency.cpp
gm_commands/set/set_animation.cpp
gm_commands/set/set_anon.cpp
gm_commands/set/set_auto_login.cpp
gm_commands/set/set_bind_point.cpp
gm_commands/set/set_checksum.cpp
gm_commands/set/set_class_permanent.cpp
gm_commands/set/set_crystals.cpp
gm_commands/set/set_date.cpp
gm_commands/set/set_endurance.cpp
gm_commands/set/set_endurance_full.cpp
gm_commands/set/set_exp.cpp
gm_commands/set/set_flymode.cpp
gm_commands/set/set_frozen.cpp
gm_commands/set/set_gender.cpp
gm_commands/set/set_gender_permanent.cpp
gm_commands/set/set_gm.cpp
gm_commands/set/set_gm_speed.cpp
gm_commands/set/set_gm_status.cpp
gm_commands/set/set_god_mode.cpp
gm_commands/set/set_haste.cpp
gm_commands/set/set_hero_model.cpp
gm_commands/set/set_hide_me.cpp
gm_commands/set/set_hp.cpp
gm_commands/set/set_hp_full.cpp
gm_commands/set/set_invulnerable.cpp
gm_commands/set/set_language.cpp
gm_commands/set/set_last_name.cpp
gm_commands/set/set_level.cpp
gm_commands/set/set_loginserver_info.cpp
gm_commands/set/set_mana.cpp
gm_commands/set/set_mana_full.cpp
gm_commands/set/set_motd.cpp
gm_commands/set/set_name.cpp
gm_commands/set/set_ooc_mute.cpp
gm_commands/set/set_password.cpp
gm_commands/set/set_pvp.cpp
gm_commands/set/set_pvp_points.cpp
gm_commands/set/set_race.cpp
gm_commands/set/set_race_permanent.cpp
gm_commands/set/set_server_locked.cpp
gm_commands/set/set_skill.cpp
gm_commands/set/set_skill_all.cpp
gm_commands/set/set_skill_all_max.cpp
gm_commands/set/set_start_zone.cpp
gm_commands/set/set_temporary_name.cpp
gm_commands/set/set_texture.cpp
gm_commands/set/set_time.cpp
gm_commands/set/set_time_zone.cpp
gm_commands/set/set_title.cpp
gm_commands/set/set_title_suffix.cpp
gm_commands/set/set_weather.cpp
gm_commands/set/set_zone.cpp
gm_commands/show.cpp
gm_commands/show/show_aas.cpp
gm_commands/show/show_aa_points.cpp
gm_commands/show/show_aggro.cpp
gm_commands/show/show_auto_login.cpp
gm_commands/show/show_buffs.cpp
gm_commands/show/show_buried_corpse_count.cpp
gm_commands/show/show_client_version_summary.cpp
gm_commands/show/show_content_flags.cpp
gm_commands/show/show_currencies.cpp
gm_commands/show/show_distance.cpp
gm_commands/show/show_emotes.cpp
gm_commands/show/show_field_of_view.cpp
gm_commands/show/show_flags.cpp
gm_commands/show/show_group_info.cpp
gm_commands/show/show_hatelist.cpp
gm_commands/show/show_inventory.cpp
gm_commands/show/show_ip_lookup.cpp
gm_commands/show/show_keyring.cpp
gm_commands/show/show_line_of_sight.cpp
gm_commands/show/show_network.cpp
gm_commands/show/show_network_stats.cpp
gm_commands/show/show_npc_global_loot.cpp
gm_commands/show/show_npc_stats.cpp
gm_commands/show/show_npc_type.cpp
gm_commands/show/show_peqzone_flags.cpp
gm_commands/show/show_petition.cpp
gm_commands/show/show_petition_info.cpp
gm_commands/show/show_proximity.cpp
gm_commands/show/show_quest_errors.cpp
gm_commands/show/show_quest_globals.cpp
gm_commands/show/show_recipe.cpp
gm_commands/show/show_server_info.cpp
gm_commands/show/show_skills.cpp
gm_commands/show/show_spawn_status.cpp
gm_commands/show/show_special_abilities.cpp
gm_commands/show/show_spells.cpp
gm_commands/show/show_spells_list.cpp
gm_commands/show/show_stats.cpp
gm_commands/show/show_timers.cpp
gm_commands/show/show_traps.cpp
gm_commands/show/show_uptime.cpp
gm_commands/show/show_variable.cpp
gm_commands/show/show_version.cpp
gm_commands/show/show_waypoints.cpp
gm_commands/show/show_who.cpp
gm_commands/show/show_xtargets.cpp
gm_commands/show/show_zone_data.cpp
gm_commands/show/show_zone_global_loot.cpp
gm_commands/show/show_zone_loot.cpp
gm_commands/show/show_zone_points.cpp
gm_commands/show/show_zone_status.cpp
gm_commands/show/show_zone_variables.cpp
gm_commands/shutdown.cpp
gm_commands/spawn.cpp
gm_commands/spawneditmass.cpp
gm_commands/spawnfix.cpp
gm_commands/faction_association.cpp
gm_commands/stun.cpp
gm_commands/summon.cpp
gm_commands/summonburiedplayercorpse.cpp
gm_commands/summonitem.cpp
gm_commands/suspend.cpp
gm_commands/suspendmulti.cpp
gm_commands/takeplatinum.cpp
gm_commands/task.cpp
gm_commands/traindisc.cpp
gm_commands/tune.cpp
gm_commands/undye.cpp
gm_commands/unmemspell.cpp
gm_commands/unmemspells.cpp
gm_commands/unscribespell.cpp
gm_commands/unscribespells.cpp
gm_commands/untraindisc.cpp
gm_commands/untraindiscs.cpp
gm_commands/wc.cpp
gm_commands/worldshutdown.cpp
gm_commands/worldwide.cpp
gm_commands/wp.cpp
gm_commands/wpadd.cpp
gm_commands/zone.cpp
gm_commands/zonebootup.cpp
gm_commands/zoneshutdown.cpp
gm_commands/zonevariable.cpp
gm_commands/zone_instance.cpp
gm_commands/zone_shard.cpp
gm_commands/zsave.cpp
)
source_group(find FILES
gm_commands/find/find_aa.cpp
gm_commands/find/find_account.cpp
gm_commands/find/find_body_type.cpp
gm_commands/find/find_bot.cpp
gm_commands/find/find_bug_category.cpp
gm_commands/find/find_character.cpp
gm_commands/find/find_class.cpp
gm_commands/find/find_comparison_type.cpp
gm_commands/find/find_currency.cpp
gm_commands/find/find_deity.cpp
gm_commands/find/find_emote.cpp
gm_commands/find/find_faction.cpp
gm_commands/find/find_item.cpp
gm_commands/find/find_language.cpp
gm_commands/find/find_ldon_theme.cpp
gm_commands/find/find_npctype.cpp
gm_commands/find/find_object_type.cpp
gm_commands/find/find_race.cpp
gm_commands/find/find_recipe.cpp
gm_commands/find/find_skill.cpp
gm_commands/find/find_special_ability.cpp
gm_commands/find/find_spell.cpp
gm_commands/find/find_stance.cpp
gm_commands/find/find_task.cpp
gm_commands/find/find_zone.cpp
)
source_group(set FILES
gm_commands/set/set_aa_exp.cpp
gm_commands/set/set_aa_points.cpp
gm_commands/set/set_adventure_points.cpp
gm_commands/set/set_alternate_currency.cpp
gm_commands/set/set_animation.cpp
gm_commands/set/set_anon.cpp
gm_commands/set/set_auto_login.cpp
gm_commands/set/set_bind_point.cpp
gm_commands/set/set_checksum.cpp
gm_commands/set/set_class_permanent.cpp
gm_commands/set/set_crystals.cpp
gm_commands/set/set_date.cpp
gm_commands/set/set_endurance.cpp
gm_commands/set/set_endurance_full.cpp
gm_commands/set/set_exp.cpp
gm_commands/set/set_flymode.cpp
gm_commands/set/set_frozen.cpp
gm_commands/set/set_gender.cpp
gm_commands/set/set_gender_permanent.cpp
gm_commands/set/set_gm.cpp
gm_commands/set/set_gm_speed.cpp
gm_commands/set/set_gm_status.cpp
gm_commands/set/set_god_mode.cpp
gm_commands/set/set_haste.cpp
gm_commands/set/set_hero_model.cpp
gm_commands/set/set_hide_me.cpp
gm_commands/set/set_hp.cpp
gm_commands/set/set_hp_full.cpp
gm_commands/set/set_invulnerable.cpp
gm_commands/set/set_language.cpp
gm_commands/set/set_last_name.cpp
gm_commands/set/set_level.cpp
gm_commands/set/set_loginserver_info.cpp
gm_commands/set/set_mana.cpp
gm_commands/set/set_mana_full.cpp
gm_commands/set/set_motd.cpp
gm_commands/set/set_name.cpp
gm_commands/set/set_ooc_mute.cpp
gm_commands/set/set_password.cpp
gm_commands/set/set_pvp.cpp
gm_commands/set/set_pvp_points.cpp
gm_commands/set/set_race.cpp
gm_commands/set/set_race_permanent.cpp
gm_commands/set/set_server_locked.cpp
gm_commands/set/set_skill.cpp
gm_commands/set/set_skill_all.cpp
gm_commands/set/set_skill_all_max.cpp
gm_commands/set/set_start_zone.cpp
gm_commands/set/set_temporary_name.cpp
gm_commands/set/set_texture.cpp
gm_commands/set/set_time.cpp
gm_commands/set/set_time_zone.cpp
gm_commands/set/set_title.cpp
gm_commands/set/set_title_suffix.cpp
gm_commands/set/set_weather.cpp
gm_commands/set/set_zone.cpp)
source_group(show FILES
gm_commands/show/show_aas.cpp
gm_commands/show/show_aa_points.cpp
gm_commands/show/show_aggro.cpp
gm_commands/show/show_auto_login.cpp
gm_commands/show/show_buffs.cpp
gm_commands/show/show_buried_corpse_count.cpp
gm_commands/show/show_client_version_summary.cpp
gm_commands/show/show_content_flags.cpp
gm_commands/show/show_currencies.cpp
gm_commands/show/show_distance.cpp
gm_commands/show/show_emotes.cpp
gm_commands/show/show_field_of_view.cpp
gm_commands/show/show_flags.cpp
gm_commands/show/show_group_info.cpp
gm_commands/show/show_hatelist.cpp
gm_commands/show/show_inventory.cpp
gm_commands/show/show_ip_lookup.cpp
gm_commands/show/show_keyring.cpp
gm_commands/show/show_line_of_sight.cpp
gm_commands/show/show_network.cpp
gm_commands/show/show_network_stats.cpp
gm_commands/show/show_npc_global_loot.cpp
gm_commands/show/show_npc_stats.cpp
gm_commands/show/show_npc_type.cpp
gm_commands/show/show_peqzone_flags.cpp
gm_commands/show/show_petition.cpp
gm_commands/show/show_petition_info.cpp
gm_commands/show/show_proximity.cpp
gm_commands/show/show_quest_errors.cpp
gm_commands/show/show_quest_globals.cpp
gm_commands/show/show_recipe.cpp
gm_commands/show/show_server_info.cpp
gm_commands/show/show_skills.cpp
gm_commands/show/show_spawn_status.cpp
gm_commands/show/show_special_abilities.cpp
gm_commands/show/show_spells.cpp
gm_commands/show/show_spells_list.cpp
gm_commands/show/show_stats.cpp
gm_commands/show/show_timers.cpp
gm_commands/show/show_traps.cpp
gm_commands/show/show_uptime.cpp
gm_commands/show/show_variable.cpp
gm_commands/show/show_version.cpp
gm_commands/show/show_waypoints.cpp
gm_commands/show/show_who.cpp
gm_commands/show/show_xtargets.cpp
gm_commands/show/show_zone_data.cpp
gm_commands/show/show_zone_global_loot.cpp
gm_commands/show/show_zone_loot.cpp
gm_commands/show/show_zone_points.cpp
gm_commands/show/show_zone_status.cpp
gm_commands/show/show_zone_variables.cpp)
add_library(gm_commands_zone STATIC ${gm_command_sources})
target_link_libraries(gm_commands_zone PRIVATE cereal::cereal fmt::fmt $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv> unofficial::libmariadb)
set_target_properties(gm_commands_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 32)
# zone combine sources and headers
add_executable(zone ${zone_sources} ${zone_headers})
# binary output directory
install(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
# precompiled headers
if(EQEMU_BUILD_PCH)
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/app-pch.h)
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/std-pch.h)
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ./pch/pch.h)
endif()
add_definitions(-DZONE)
# link lua_zone unity build against luabind
if(EQEMU_BUILD_LUA)
target_compile_definitions(lua_zone PUBLIC LUA_EQEMU)
target_link_libraries(lua_zone PRIVATE luabind Boost::dynamic_bitset Boost::tuple Boost::foreach common)
if (EQEMU_BUILD_STATIC AND LUA_LIBRARY)
target_link_libraries(zone PRIVATE ${LUA_LIBRARY})
endif()
endif()
# perl unity build links against perl_zone
if(EQEMU_BUILD_PERL)
target_link_libraries(perl_zone PRIVATE perlbind common ${PERL_LIBRARY_LIBS})
if (EQEMU_BUILD_STATIC AND PERL_LIBRARY)
target_link_libraries(zone PRIVATE ${PERL_LIBRARY})
endif()
endif()
# link zone against common libraries
target_link_libraries(zone PRIVATE gm_commands_zone common RecastNavigation::Detour)
if(EQEMU_BUILD_LUA)
target_link_libraries(zone PRIVATE lua_zone)
endif()
if(EQEMU_BUILD_PERL)
target_link_libraries(zone PRIVATE perl_zone)
endif()
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)