set(DGAME_DGAMEMESSAGES_SOURCES
	"ActivityMessages.cpp"
	"BuildingMessages.cpp"
	"CombatMessages.cpp"
	"EffectsMessages.cpp"
	"GameMessageDecoder.cpp"
	"GameMessageHandler.cpp"
	"GameMessages.cpp"
	"InventoryMessages.cpp"
	"MissionMessages.cpp"
	"MovementMessages.cpp"
	"ObjectMessages.cpp"
	"PetMessages.cpp"
	"PlayerMessages.cpp"
	"PropertyMessages.cpp"
	"QuickBuildMessages.cpp"
	"RacingMessages.cpp"
	"SkillMessages.cpp"
	"TradeMessages.cpp"
	"VendorMessages.cpp"
	"ZoneMessages.cpp")

add_library(dGameMessages OBJECT ${DGAME_DGAMEMESSAGES_SOURCES})
target_link_libraries(dGameMessages
	PUBLIC dDatabase
	INTERFACE dGameBase # TradingManager
)
target_include_directories(dGameMessages PUBLIC "."
	PRIVATE
	"${PROJECT_SOURCE_DIR}/dGame/dComponents" # direct MissionComponent.h
	"${PROJECT_SOURCE_DIR}/dGame/dUtilities" # direct SlashCommandHandler.h
	"${PROJECT_SOURCE_DIR}/dGame/dPropertyBehaviors" # direct ControlBehaviors.h
	"${PROJECT_SOURCE_DIR}/dGame/dMission" # via MissionComponent.h
	"${PROJECT_SOURCE_DIR}/dGame/dBehaviors" # via InventoryComponent.h
	"${PROJECT_SOURCE_DIR}/dGame/dInventory" # via InventoryComponent.h
	"${PROJECT_SOURCE_DIR}/dGame/dEntity" # via dZoneManager/Spawner.h
	"${PROJECT_SOURCE_DIR}/dZoneManager" # via GameMessages.cpp, GameMessageHandler.cpp
)
target_precompile_headers(dGameMessages REUSE_FROM dGameBase)
