cmake_minimum_required(VERSION 3.20)

# gm commands
set(gm_command_sources
    command.cpp
    bot_command.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/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/show.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
)

add_library(gm_commands_zone STATIC ${gm_command_sources})
target_link_libraries(gm_commands_zone PRIVATE common)
set_target_properties(gm_commands_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 32)

