
set(SHARED_SOURCES
	shared/ai/AggroListProperty.cpp
	shared/ai/AggroListProperty.h
	shared/ai/AiCombatPulseQueue.cpp
	shared/ai/AiCombatPulseQueue.h
	shared/ai/AiCreatureCombatProfile.cpp
	shared/ai/AiCreatureCombatProfile.h
	shared/ai/AiCreatureCombatProfile_Action.cpp
	shared/ai/AiCreatureCombatProfile_Action.h
	shared/ai/AiCreatureData.cpp
	shared/ai/AiCreatureData.h
	shared/ai/AiCreatureWeaponActions.cpp
	shared/ai/AiCreatureWeaponActions.h
	shared/ai/AiLogManager.cpp
	shared/ai/AiLogManager.h
	shared/ai/AiMovementArchive.cpp
	shared/ai/AiMovementArchive.h
	shared/ai/AiMovementBase.cpp
	shared/ai/AiMovementBase.h
	shared/ai/AiMovementFace.cpp
	shared/ai/AiMovementFace.h
	shared/ai/AiMovementFlee.cpp
	shared/ai/AiMovementFlee.h
	shared/ai/AiMovementFollow.cpp
	shared/ai/AiMovementFollow.h
	shared/ai/AiMovementIdle.cpp
	shared/ai/AiMovementIdle.h
	shared/ai/AiMovementLoiter.cpp
	shared/ai/AiMovementLoiter.h
	shared/ai/AiMovementMove.cpp
	shared/ai/AiMovementMove.h
	shared/ai/AiMovementPathFollow.cpp
	shared/ai/AiMovementPathFollow.h
	shared/ai/AiMovementPatrol.cpp
	shared/ai/AiMovementPatrol.h
	shared/ai/AiMovementSwarm.cpp
	shared/ai/AiMovementSwarm.h
	shared/ai/AiMovementTarget.cpp
	shared/ai/AiMovementTarget.h
	shared/ai/AiMovementWander.cpp
	shared/ai/AiMovementWander.h
	shared/ai/AiMovementWanderInterior.cpp
	shared/ai/AiMovementWanderInterior.h
	shared/ai/AiMovementWaypoint.cpp
	shared/ai/AiMovementWaypoint.h
	shared/ai/AiTargetingSystem.cpp
	shared/ai/AiTargetingSystem.h
	shared/ai/Formation.cpp
	shared/ai/Formation.h
	shared/ai/HateList.cpp
	shared/ai/HateList.h
	shared/ai/Squad.cpp
	shared/ai/Squad.h

	shared/behavior/AiCreatureStateArchive.cpp
	shared/behavior/AiCreatureStateArchive.h
	shared/behavior/AiLocation.cpp
	shared/behavior/AiLocation.h
	shared/behavior/AiShipAttackTargetList.h
	shared/behavior/AiShipAttackTargetList.cpp
	shared/behavior/AiShipBehaviorAttack.cpp
	shared/behavior/AiShipBehaviorAttack.h
	shared/behavior/AiShipBehaviorAttackBomber.cpp
	shared/behavior/AiShipBehaviorAttackBomber.h
	shared/behavior/AiShipBehaviorAttackCapitalShip.cpp
	shared/behavior/AiShipBehaviorAttackCapitalShip.h
	shared/behavior/AiShipBehaviorAttackFighter.cpp
	shared/behavior/AiShipBehaviorAttackFighter.h
	shared/behavior/AiShipBehaviorAttackFighter_Maneuver.cpp
	shared/behavior/AiShipBehaviorAttackFighter_Maneuver.h
	shared/behavior/AiShipBehaviorAttackFighter_Maneuver_Path.cpp
	shared/behavior/AiShipBehaviorAttackFighter_Maneuver_Path.h
	shared/behavior/AiShipBehaviorBase.cpp
	shared/behavior/AiShipBehaviorBase.h
	shared/behavior/AiShipBehaviorDock.cpp
	shared/behavior/AiShipBehaviorDock.h
	shared/behavior/AiShipBehaviorFollow.cpp
	shared/behavior/AiShipBehaviorFollow.h
	shared/behavior/AiShipBehaviorIdle.cpp
	shared/behavior/AiShipBehaviorIdle.h
	shared/behavior/AiShipBehaviorTrack.cpp
	shared/behavior/AiShipBehaviorTrack.h
	shared/behavior/AiShipBehaviorWaypoint.cpp
	shared/behavior/AiShipBehaviorWaypoint.h
	shared/behavior/AiShipTurretTargetingSystem.cpp
	shared/behavior/AiShipTurretTargetingSystem.h
	shared/behavior/PlayerShipTurretTargetingSystem.cpp
	shared/behavior/PlayerShipTurretTargetingSystem.h
	shared/behavior/ShipTurretTargetingSystem.cpp
	shared/behavior/ShipTurretTargetingSystem.h

	shared/city/CitizenInfo.cpp
	shared/city/CitizenInfo.h
	shared/city/CityInfo.cpp
	shared/city/CityInfo.h
	shared/city/CityInterface.cpp
	shared/city/CityInterface.h
	shared/city/CityStringParser.cpp
	shared/city/CityStringParser.h
	shared/city/CityStructureInfo.cpp
	shared/city/CityStructureInfo.h
	shared/city/PgcRatingInfo.cpp
	shared/city/PgcRatingInfo.h

	shared/collision/CollisionCallbacks.cpp
	shared/collision/CollisionCallbacks.h

	shared/command/CommandCppFuncs.cpp
	shared/command/CommandCppFuncs.h
	shared/command/CommandQueue.cpp
	shared/command/CommandQueue.h
	shared/command/ServerCommandTable.cpp
	shared/command/ServerCommandTable.h
	shared/command/CommandQueueEntry.cpp
	shared/command/CommandQueueEntry.h

	shared/commoditiesMarket/AuctionInfo.h
	shared/commoditiesMarket/CommoditiesMarket.cpp
	shared/commoditiesMarket/CommoditiesMarket.h
	shared/commoditiesMarket/CommoditiesMarketListener.cpp
	shared/commoditiesMarket/CommoditiesMarketListener.h
	shared/commoditiesMarket/CommoditiesServerConnection.cpp
	shared/commoditiesMarket/CommoditiesServerConnection.h

	shared/console/CentralCommandParserGame.cpp
	shared/console/CentralCommandParserGame.h
	shared/console/ConsoleCommandParserAi.cpp
	shared/console/ConsoleCommandParserAi.h
	shared/console/ConsoleCommandParserCity.cpp
	shared/console/ConsoleCommandParserCity.h
	shared/console/ConsoleCommandParserCollection.cpp
	shared/console/ConsoleCommandParserCollection.h
	shared/console/ConsoleCommandParserCraft.cpp
	shared/console/ConsoleCommandParserCraft.h
	shared/console/ConsoleCommandParserCraftStation.cpp
	shared/console/ConsoleCommandParserCraftStation.h
	shared/console/ConsoleCommandParserDefault.cpp
	shared/console/ConsoleCommandParserDefault.h
	shared/console/ConsoleCommandParserGuild.cpp
	shared/console/ConsoleCommandParserGuild.h
	shared/console/ConsoleCommandParserManufacture.cpp
	shared/console/ConsoleCommandParserManufacture.h
	shared/console/ConsoleCommandParserMessageTo.cpp
	shared/console/ConsoleCommandParserMessageTo.h
	shared/console/ConsoleCommandParserMoney.cpp
	shared/console/ConsoleCommandParserMoney.h
	shared/console/ConsoleCommandParserNpc.cpp
	shared/console/ConsoleCommandParserNpc.h
	shared/console/ConsoleCommandParserObject.cpp
	shared/console/ConsoleCommandParserObject.h
	shared/console/ConsoleCommandParserObjvar.cpp
	shared/console/ConsoleCommandParserObjvar.h
	shared/console/ConsoleCommandParserPvp.cpp
	shared/console/ConsoleCommandParserPvp.h
	shared/console/ConsoleCommandParserResource.cpp
	shared/console/ConsoleCommandParserResource.h
	shared/console/ConsoleCommandParserScript.cpp
	shared/console/ConsoleCommandParserScript.h
	shared/console/ConsoleCommandParserServer.cpp
	shared/console/ConsoleCommandParserServer.h
	shared/console/ConsoleCommandParserShip.cpp
	shared/console/ConsoleCommandParserShip.h
	shared/console/ConsoleCommandParserSkill.cpp
	shared/console/ConsoleCommandParserSkill.h
	shared/console/ConsoleCommandParserSpaceAi.cpp
	shared/console/ConsoleCommandParserSpaceAi.h
	shared/console/ConsoleCommandParserSpawner.cpp
	shared/console/ConsoleCommandParserSpawner.h
	shared/console/ConsoleCommandParserVeteran.cpp
	shared/console/ConsoleCommandParserVeteran.h
	shared/console/ConsoleCommandParserVoice.cpp
	shared/console/ConsoleCommandParserVoice.h
	shared/console/ConsoleManager.cpp
	shared/console/ConsoleManager.h
	shared/console/ObjectCommandParserGetAttributes.cpp
	shared/console/ObjectCommandParserGetAttributes.h
	shared/console/ObjectCommandParserSetAttributes.cpp
	shared/console/ObjectCommandParserSetAttributes.h
	shared/console/ServerCommandPermissionManager.cpp
	shared/console/ServerCommandPermissionManager.h 

	shared/container/IntangibleVolumeContainer.cpp
	shared/container/IntangibleVolumeContainer.h
	shared/container/TangibleVolumeContainer.cpp
	shared/container/TangibleVolumeContainer.h

	shared/controller/AiCreatureController.cpp
	shared/controller/AiCreatureController.h
	shared/controller/AiShipController.cpp
	shared/controller/AiShipController.h
	shared/controller/AiShipControllerInterface.cpp
	shared/controller/AiShipControllerInterface.h
	shared/controller/BattlefieldMarkerController.cpp
	shared/controller/BattlefieldMarkerController.h
	shared/controller/BuildingController.cpp
	shared/controller/BuildingController.h
	shared/controller/CellController.cpp
	shared/controller/CellController.h
	shared/controller/CityController.cpp
	shared/controller/CityController.h
	shared/controller/CreatureController.cpp
	shared/controller/CreatureController.h
	shared/controller/FactoryController.cpp
	shared/controller/FactoryController.h
	shared/controller/GroundVehicleController.cpp
	shared/controller/GroundVehicleController.h
	shared/controller/GroupController.cpp
	shared/controller/GroupController.h
	shared/controller/GuildController.cpp
	shared/controller/GuildController.h
	shared/controller/HarvesterInstallationController.cpp
	shared/controller/HarvesterInstallationController.h
	shared/controller/InstallationController.cpp
	shared/controller/InstallationController.h
	shared/controller/ManufactureInstallationController.cpp
	shared/controller/ManufactureInstallationController.h
	shared/controller/MissionTerminalController.cpp
	shared/controller/MissionTerminalController.h
	shared/controller/MoveSimController.cpp
	shared/controller/MoveSimController.h
	shared/controller/PlanetController.cpp
	shared/controller/PlanetController.h
	shared/controller/PlayerCreatureController.cpp
	shared/controller/PlayerCreatureController.h
	shared/controller/PlayerShipController.cpp
	shared/controller/PlayerShipController.h
	shared/controller/ResourceContainerController.cpp
	shared/controller/ResourceContainerController.h
	shared/controller/ServerController.cpp
	shared/controller/ServerController.h
	shared/controller/ShipController.cpp
	shared/controller/ShipController.h
	shared/controller/TangibleController.cpp
	shared/controller/TangibleController.h
	shared/controller/TurretController.cpp
	shared/controller/TurretController.h
	shared/controller/UniverseController.cpp
	shared/controller/UniverseController.h
	shared/controller/VehicleController.cpp
	shared/controller/VehicleController.h
	shared/controller/WeaponController.cpp
	shared/controller/WeaponController.h 

	shared/core/AttribModNameManager.cpp
	shared/core/AttribModNameManager.h
	shared/core/AuctionTokenServer.cpp
	shared/core/AuctionTokenServer.h
	shared/core/AuthTransferTracker.cpp
	shared/core/AuthTransferTracker.h
	shared/core/BiographyManager.cpp
	shared/core/BiographyManager.h
	shared/core/BuffManager.cpp
	shared/core/BuffManager.h
	shared/core/CharacterMatchManager.cpp
	shared/core/CharacterMatchManager.h
	shared/core/ChatServerConnection.cpp
	shared/core/ChatServerConnection.h
	shared/core/Client.cpp
	shared/core/Client.h
	shared/core/ClusterWideDataClient.cpp
	shared/core/ClusterWideDataClient.h
	shared/core/CombatTracker.cpp
	shared/core/CombatTracker.h
	shared/core/CommunityManager.cpp
	shared/core/CommunityManager.h
	shared/core/ConfigServerGame.cpp
	shared/core/ConfigServerGame.h
	shared/core/ConsentManager.cpp
	shared/core/ConsentManager.h
	shared/core/ContainerInterface.cpp
	shared/core/ContainerInterface.h
	shared/core/FirstServerGame.h
	shared/core/FormManagerServer.cpp
	shared/core/FormManagerServer.h
	shared/core/GameServer.cpp
	shared/core/GameServer.h
	shared/core/InstantDeleteList.cpp
	shared/core/InstantDeleteList.h
	shared/core/LogoutTracker.cpp
	shared/core/LogoutTracker.h
	shared/core/MoveSimManager.cpp
	shared/core/MessageToQueue.cpp
	shared/core/MessageToQueue.h
	shared/core/NamedObjectManager.cpp
	shared/core/NamedObjectManager.h
	shared/core/NameManager.cpp
	shared/core/NameManager.h
	shared/core/NewbieTutorial.cpp
	shared/core/NewbieTutorial.h
	shared/core/NonCriticalTaskQueue.cpp
	shared/core/NonCriticalTaskQueue.h
	shared/core/NpcConversation.cpp
	shared/core/NpcConversation.h
	shared/core/ObjectIdManager.cpp
	shared/core/ObjectIdManager.h
	shared/core/ObserveTracker.cpp
	shared/core/ObserveTracker.h
	shared/core/PlanetMapManagerServer.cpp
	shared/core/PlanetMapManagerServer.h
	shared/core/PlayerCreationManagerServer.cpp
	shared/core/PlayerCreationManagerServer.h
	shared/core/PlayerSanityChecker.cpp
	shared/core/PlayerSanityChecker.h
	shared/core/PositionUpdateTracker.cpp
	shared/core/PositionUpdateTracker.h
	shared/core/PreloadManager.cpp
	shared/core/PreloadManager.h
	shared/core/ProsePackageManagerServer.cpp
	shared/core/ProsePackageManagerServer.h
	shared/core/PurgeManager.cpp
	shared/core/PurgeManager.h
	shared/core/RegexList.cpp
	shared/core/RegexList.h
	shared/core/ReportManager.cpp
	shared/core/ReportManager.h
	shared/core/ServerBuffBuilderManager.cpp
	shared/core/ServerBuffBuilderManager.h
	shared/core/ServerBuildoutManager.cpp
	shared/core/ServerBuildoutManager.h
	shared/core/ServerImageDesignerManager.cpp
	shared/core/ServerImageDesignerManager.h
	shared/core/ServerMessageForwarding.cpp
	shared/core/ServerMessageForwarding.h
	shared/core/ServerObjectAttributeIds.cpp
	shared/core/ServerObjectAttributeIds.h
	shared/core/ServerUIManager.cpp
	shared/core/ServerUIManager.h
	shared/core/ServerUIPage.cpp
	shared/core/ServerUIPage.h
	shared/core/ServerUniverse.cpp
	shared/core/ServerUniverse.h
	shared/core/ServerWorld.cpp
	shared/core/ServerWorld.h
	shared/core/ServerWorldIntangibleNotification.cpp
	shared/core/ServerWorldIntangibleNotification.h
	shared/core/ServerWorldTangibleNotification.cpp
	shared/core/ServerWorldTangibleNotification.h
	shared/core/ServerWorldTerrainObjectNotification.cpp
	shared/core/ServerWorldTerrainObjectNotification.h
	shared/core/ServerWorldUniverseNotification.cpp
	shared/core/ServerWorldUniverseNotification.h
	shared/core/StaticLootItemManager.cpp
	shared/core/StaticLootItemManager.h
	shared/core/SuiPageDataServer.cpp
	shared/core/SuiPageDataServer.h
	shared/core/SuiPageDataServerArchive.cpp
	shared/core/SuiPageDataServerArchive.h
	shared/core/SetupServerGame.cpp
	shared/core/SetupServerGame.h
	shared/core/TaskGetAttributes.cpp
	shared/core/TaskGetAttributes.h
	shared/core/TeleportFixupHandler.cpp
	shared/core/TeleportFixupHandler.h
	shared/core/VeteranRewardManager.cpp
	shared/core/VeteranRewardManager.h
	shared/core/SceneGlobalData.cpp
	shared/core/SceneGlobalData.h

	shared/guild/GuildInfo.cpp
	shared/guild/GuildInfo.h
	shared/guild/GuildInterface.cpp
	shared/guild/GuildInterface.h
	shared/guild/GuildMemberInfo.cpp
	shared/guild/GuildMemberInfo.h
	shared/guild/GuildStringParser.cpp
	shared/guild/GuildStringParser.h

	shared/metrics/GameServerMetricsData.cpp
	shared/metrics/GameServerMetricsData.h

	shared/network/CentralConnection.cpp
	shared/network/CentralConnection.h
	shared/network/Chat.cpp
	shared/network/Chat.h
	shared/network/ConnectionServerConnection.cpp
	shared/network/ConnectionServerConnection.h
	shared/network/CustomerServiceServerConnection.cpp
	shared/network/CustomerServiceServerConnection.h
	shared/network/DatabaseProcessConnection.cpp
	shared/network/DatabaseProcessConnection.h
	shared/network/GameServerMessageArchive.cpp
	shared/network/GameServerMessageArchive.h
	shared/network/PlanetServerConnection.cpp
	shared/network/PlanetServerConnection.h
	shared/network/TaskManagerConnection.cpp
	shared/network/TaskManagerConnection.h

	shared/object/AiServerShipObjectInterface.cpp
	shared/object/AiServerShipObjectInterface.h
	shared/object/BaselineDistributionListPool.cpp
	shared/object/BaselineDistributionListPool.h
	shared/object/BattlefieldMarkerObject.cpp
	shared/object/BattlefieldMarkerObject.h
	shared/object/BuildingObject.cpp
	shared/object/BuildingObject.h
	shared/object/CellObject.cpp
	shared/object/CellObject.h
	shared/object/CellPermissions.cpp
	shared/object/CellPermissions.h
	shared/object/CityObject.cpp
	shared/object/CityObject.h
	shared/object/ContainmentMessageManager.cpp
	shared/object/ContainmentMessageManager.h
	shared/object/CreatureObject.cpp
	shared/object/CreatureObject.h
	shared/object/CreatureObject_Mounts.cpp
	shared/object/CreatureObject_Ships.cpp
	shared/object/DestroyMessageManager.cpp
	shared/object/DestroyMessageManager.h
	shared/object/DistributionListStack.cpp
	shared/object/DistributionListStack.h
	shared/object/DraftSchematicObject.cpp
	shared/object/DraftSchematicObject.h
	shared/object/FactoryObject.cpp
	shared/object/FactoryObject.h
	shared/object/GroupIdObserver.cpp
	shared/object/GroupIdObserver.h
	shared/object/GroupMissionCriticalObjectsBuilder.cpp
	shared/object/GroupMissionCriticalObjectsBuilder.h
	shared/object/GroupWaypointBuilder.cpp
	shared/object/GroupWaypointBuilder.h
	shared/object/GroupObject.cpp
	shared/object/GroupObject.h
	shared/object/GroupStringId.h
	shared/object/GroupUpdateObserver.cpp
	shared/object/GroupUpdateObserver.h
	shared/object/GuildObject.cpp
	shared/object/GuildObject.h
	shared/object/HarvesterInstallationObject.cpp
	shared/object/HarvesterInstallationObject.h
	shared/object/InstallationObject.cpp
	shared/object/InstallationObject.h
	shared/object/IntangibleObject.cpp
	shared/object/IntangibleObject.h
	shared/object/LineOfSightCache.cpp
	shared/object/LineOfSightCache.h
	shared/object/ManufactureInstallationObject.cpp
	shared/object/ManufactureInstallationObject.h
	shared/object/ManufactureObjectInterface.h
	shared/object/ManufactureSchematicObject.cpp
	shared/object/ManufactureSchematicObject.h
	shared/object/MissionObject.cpp
	shared/object/MissionObject.h
	shared/object/NetworkTriggerVolume.cpp
	shared/object/NetworkTriggerVolume.h
	shared/object/ObjectFactory.cpp
	shared/object/ObjectTracker.cpp
	shared/object/ObjectTracker.h
	shared/object/PatrolPathNodeProperty.cpp
	shared/object/PatrolPathNodeProperty.h
	shared/object/PatrolPathRootProperty.cpp
	shared/object/PatrolPathRootProperty.h
	shared/object/PlanetObject.cpp
	shared/object/PlanetObject.h
	shared/object/PlayerQuestObject.h
	shared/object/PlayerQuestObject.cpp
	shared/object/PlayerObject.cpp
	shared/object/PlayerObject.h
	shared/object/PortalTriggerVolume.cpp
	shared/object/PortalTriggerVolume.h
	shared/object/PvpEnemiesObserver.cpp
	shared/object/PvpEnemiesObserver.h
	shared/object/PvpUpdateAndCellPermissionsObserver.cpp
	shared/object/PvpUpdateAndCellPermissionsObserver.h
	shared/object/ResourceContainerObject.cpp
	shared/object/ResourceContainerObject.h
	shared/object/ResourcePoolObject.cpp
	shared/object/ResourcePoolObject.h
	shared/object/ResourceTypeObject.cpp
	shared/object/ResourceTypeObject.h
	shared/object/ServerClearCollidableFloraNotification.cpp
	shared/object/ServerClearCollidableFloraNotification.h
	shared/object/ServerCollisionProperty.cpp
	shared/object/ServerCollisionProperty.h
	shared/object/ServerLotManagerNotification.cpp
	shared/object/ServerLotManagerNotification.h
	shared/object/ServerNoBuildNotification.cpp
	shared/object/ServerNoBuildNotification.h
	shared/object/ServerObject.cpp
	shared/object/ServerObject.h
	shared/object/ServerObject_AuthTransfer.cpp
	shared/object/ServerObject_ObjVar.cpp
	shared/object/ServerObject_Synchronization.cpp
	shared/object/ServerObjectBaselinesManager.cpp
	shared/object/ServerObjectBaselinesManager.h
	shared/object/ServerObjectTerrainModificationNotification.cpp
	shared/object/ServerObjectTerrainModificationNotification.h
	shared/object/ServerResourceClassObject.cpp
	shared/object/ServerResourceClassObject.h
	shared/object/ServerShipObjectInterface.cpp
	shared/object/ServerShipObjectInterface.h
	shared/object/ShipObject.cpp
	shared/object/ShipObject.h
	shared/object/ShipObject_Components.cpp
	shared/object/ShipObject_Components.h
	shared/object/StaticObject.cpp
	shared/object/StaticObject.h
	shared/object/TangibleConditionObserver.cpp
	shared/object/TangibleConditionObserver.h
	shared/object/TangibleObject.cpp
	shared/object/TangibleObject_Conversation.cpp
	shared/object/TangibleObject_PobItemLimit.cpp
	shared/object/TangibleObject.h
	shared/object/TriggerVolume.cpp
	shared/object/TriggerVolume.h
	shared/object/UniverseObject.cpp
	shared/object/UniverseObject.h
	shared/object/VehicleObject.cpp
	shared/object/VehicleObject.h
	shared/object/WeaponObject.cpp
	shared/object/WeaponObject.h

	shared/objectTemplate/ServerArmorTemplate.cpp
	shared/objectTemplate/ServerArmorTemplate.h
	shared/objectTemplate/ServerBattlefieldMarkerObjectTemplate.cpp
	shared/objectTemplate/ServerBattlefieldMarkerObjectTemplate.h
	shared/objectTemplate/ServerBuildingObjectTemplate.cpp
	shared/objectTemplate/ServerBuildingObjectTemplate.h
	shared/objectTemplate/ServerCellObjectTemplate.cpp
	shared/objectTemplate/ServerCellObjectTemplate.h
	shared/objectTemplate/ServerCityObjectTemplate.cpp
	shared/objectTemplate/ServerCityObjectTemplate.h
	shared/objectTemplate/ServerConstructionContractObjectTemplate.cpp
	shared/objectTemplate/ServerConstructionContractObjectTemplate.h
	shared/objectTemplate/ServerCreatureObjectTemplate.cpp
	shared/objectTemplate/ServerCreatureObjectTemplate.h
	shared/objectTemplate/ServerDraftSchematicObjectTemplate.cpp
	shared/objectTemplate/ServerDraftSchematicObjectTemplate.h
	shared/objectTemplate/ServerFactoryObjectTemplate.cpp
	shared/objectTemplate/ServerFactoryObjectTemplate.h
	shared/objectTemplate/ServerGroupObjectTemplate.cpp
	shared/objectTemplate/ServerGroupObjectTemplate.h
	shared/objectTemplate/ServerGuildObjectTemplate.cpp
	shared/objectTemplate/ServerGuildObjectTemplate.h
	shared/objectTemplate/ServerHarvesterInstallationObjectTemplate.cpp
	shared/objectTemplate/ServerHarvesterInstallationObjectTemplate.h
	shared/objectTemplate/ServerInstallationObjectTemplate.cpp
	shared/objectTemplate/ServerInstallationObjectTemplate.h
	shared/objectTemplate/ServerIntangibleObjectTemplate.cpp
	shared/objectTemplate/ServerIntangibleObjectTemplate.h
	shared/objectTemplate/ServerManufactureInstallationObjectTemplate.cpp
	shared/objectTemplate/ServerManufactureInstallationObjectTemplate.h
	shared/objectTemplate/ServerManufactureSchematicObjectTemplate.cpp
	shared/objectTemplate/ServerManufactureSchematicObjectTemplate.h
	shared/objectTemplate/ServerMissionObjectTemplate.cpp
	shared/objectTemplate/ServerMissionObjectTemplate.h
	shared/objectTemplate/ServerObjectTemplate.cpp
	shared/objectTemplate/ServerObjectTemplate.h
	shared/objectTemplate/ServerPlanetObjectTemplate.cpp
	shared/objectTemplate/ServerPlanetObjectTemplate.h
	shared/objectTemplate/ServerPlayerQuestObjectTemplate.h
	shared/objectTemplate/ServerPlayerQuestObjectTemplate.cpp
	shared/objectTemplate/ServerPlayerObjectTemplate.cpp
	shared/objectTemplate/ServerPlayerObjectTemplate.h
	shared/objectTemplate/ServerResourceContainerObjectTemplate.cpp
	shared/objectTemplate/ServerResourceContainerObjectTemplate.h
	shared/objectTemplate/ServerSharedObjectTemplateInterface.cpp
	shared/objectTemplate/ServerSharedObjectTemplateInterface.h
	shared/objectTemplate/ServerShipObjectTemplate.cpp
	shared/objectTemplate/ServerShipObjectTemplate.h
	shared/objectTemplate/ServerStaticObjectTemplate.cpp
	shared/objectTemplate/ServerStaticObjectTemplate.h
	shared/objectTemplate/ServerTangibleObjectTemplate.cpp
	shared/objectTemplate/ServerTangibleObjectTemplate.h
	shared/objectTemplate/ServerUniverseObjectTemplate.cpp
	shared/objectTemplate/ServerUniverseObjectTemplate.h
	shared/objectTemplate/ServerVehicleObjectTemplate.cpp
	shared/objectTemplate/ServerVehicleObjectTemplate.h
	shared/objectTemplate/ServerWeaponObjectTemplate.cpp
	shared/objectTemplate/ServerWeaponObjectTemplate.h
	shared/objectTemplate/ServerXpManagerObjectTemplate.cpp
	shared/objectTemplate/ServerXpManagerObjectTemplate.h

	shared/pvp/Pvp.cpp
	shared/pvp/PvpFactions.cpp
	shared/pvp/PvpFactions.h
	shared/pvp/Pvp.h
	shared/pvp/PvpInternal.cpp
	shared/pvp/PvpInternal.h
	shared/pvp/PvpRuleSetBase.cpp
	shared/pvp/PvpRuleSetBase.h
	shared/pvp/PvpRuleSetBattlefield.cpp
	shared/pvp/PvpRuleSetBattlefield.h
	shared/pvp/PvpRuleSetNormal.cpp
	shared/pvp/PvpRuleSetNormal.h
	shared/pvp/PvpRuleSetPet.cpp
	shared/pvp/PvpRuleSetPet.h
	shared/pvp/PvpRuleSetShip.cpp
	shared/pvp/PvpRuleSetShip.h
	shared/pvp/PvpRuleSetTruce.cpp
	shared/pvp/PvpRuleSetTruce.h
	shared/pvp/PvpUpdateObserver.cpp
	shared/pvp/PvpUpdateObserver.h 

	shared/region/Region.cpp
	shared/region/Region.h
	shared/region/RegionMaster.cpp
	shared/region/RegionMaster.h
	shared/region/RegionPvp.cpp
	shared/region/RegionPvp.h

	shared/region3d/Region3d.cpp
	shared/region3d/Region3d.h
	shared/region3d/Region3dMaster.cpp
	shared/region3d/Region3dMaster.h
	shared/region3d/RegionBox.cpp
	shared/region3d/RegionBox.h
	shared/region3d/RegionSphere.cpp
	shared/region3d/RegionSphere.h

	shared/resource/SurveySystem.cpp
	shared/resource/SurveySystem.h

	shared/space/AiPilotManager.cpp
	shared/space/AiPilotManager.h
	shared/space/AiShipPilotData.cpp
	shared/space/AiShipPilotData.h
	shared/space/Missile.cpp
	shared/space/Missile.h
	shared/space/MissileManager.cpp
	shared/space/MissileManager.h
	shared/space/MiningAsteroidController.cpp
	shared/space/MiningAsteroidController.h
	shared/space/NebulaManagerServer.cpp
	shared/space/NebulaManagerServer.h
	shared/space/ProjectileManager.cpp
	shared/space/ProjectileManager.h
	shared/space/ServerAsteroidManager.cpp
	shared/space/ServerAsteroidManager.h
	shared/space/ServerShipComponentData.cpp
	shared/space/ServerShipComponentData.h
	shared/space/ServerShipTargeting.cpp
	shared/space/ServerShipTargeting.h
	shared/space/ShipAiEnemySearchManager.cpp
	shared/space/ShipAiEnemySearchManager.h
	shared/space/ShipAiReactionManager.cpp
	shared/space/ShipAiReactionManager.h
	shared/space/ShipClientUpdateTracker.cpp
	shared/space/ShipClientUpdateTracker.h
	shared/space/ShipComponentDataArmor.cpp
	shared/space/ShipComponentDataArmor.h
	shared/space/ShipComponentDataBooster.cpp
	shared/space/ShipComponentDataBooster.h
	shared/space/ShipComponentDataBridge.cpp
	shared/space/ShipComponentDataBridge.h
	shared/space/ShipComponentDataCapacitor.cpp
	shared/space/ShipComponentDataCapacitor.h
	shared/space/ShipComponentDataCargoHold.cpp
	shared/space/ShipComponentDataCargoHold.h
	shared/space/ShipComponentDataModification.cpp
	shared/space/ShipComponentDataModification.h
	shared/space/ShipComponentDataDroidInterface.cpp
	shared/space/ShipComponentDataDroidInterface.h
	shared/space/ShipComponentDataEngine.cpp
	shared/space/ShipComponentDataEngine.h
	shared/space/ShipComponentDataHangar.cpp
	shared/space/ShipComponentDataHangar.h
	shared/space/ShipComponentDataManager.cpp
	shared/space/ShipComponentDataManager.h
	shared/space/ShipComponentDataReactor.cpp
	shared/space/ShipComponentDataReactor.h
	shared/space/ShipComponentDataShield.cpp
	shared/space/ShipComponentDataShield.h
	shared/space/ShipComponentDataTargetingStation.cpp
	shared/space/ShipComponentDataTargetingStation.h
	shared/space/ShipComponentDataWeapon.cpp
	shared/space/ShipComponentDataWeapon.h
	shared/space/ShipInternalDamageOverTime.cpp
	shared/space/ShipInternalDamageOverTime.h
	shared/space/ShipInternalDamageOverTimeManager.cpp
	shared/space/ShipInternalDamageOverTimeManager.h
	shared/space/SpaceAttackSquad.cpp
	shared/space/SpaceAttackSquad.h
	shared/space/SpaceDockingManager.cpp
	shared/space/SpaceDockingManager.h
	shared/space/SpacePath.cpp
	shared/space/SpacePath.h
	shared/space/SpacePathManager.cpp
	shared/space/SpacePathManager.h
	shared/space/SpaceSquad.cpp
	shared/space/SpaceSquad.h
	shared/space/SpaceSquadManager.cpp
	shared/space/SpaceSquadManager.h
	shared/space/SpaceVisibilityManager.cpp
	shared/space/SpaceVisibilityManager.h
	shared/space/VisibleObjectNotification.cpp
	shared/space/VisibleObjectNotification.h

	shared/stationplayers/StationPlayersCollectorAPI.cpp
	shared/stationplayers/StationPlayersCollectorAPI.h

	shared/synchronizedUi/InstallationSynchronizedUi.cpp
	shared/synchronizedUi/InstallationSynchronizedUi.h
	shared/synchronizedUi/ManufactureSchematicSynchronizedUi.cpp
	shared/synchronizedUi/ManufactureSchematicSynchronizedUi.h
	shared/synchronizedUi/ServerSynchronizedUi.cpp
	shared/synchronizedUi/ServerSynchronizedUi.h

	shared/trading/ServerSecureTrade.cpp
	shared/trading/ServerSecureTrade.h
	shared/trading/ServerSecureTradeManager.cpp
	shared/trading/ServerSecureTradeManager.h
)

if(WIN32)
	set(PLATFORM_SOURCES
		win32/FirstServerGame.cpp
	)
else()
	set(PLATFORM_SOURCES "")
endif()

include_directories(
	${CMAKE_CURRENT_SOURCE_DIR}/shared
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedCollision/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedCommandParser/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedDebug/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFile/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundation/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundationTypes/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFractal/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedGame/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedLog/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMath/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMathArchive/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMemoryManager/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMessageDispatch/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetwork/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetworkMessages/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedObject/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedPathfinding/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedRandom/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedRegex/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedSkillSystem/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedTerrain/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedUtility/include/public
	${SWG_ENGINE_SOURCE_DIR}/server/library/serverMetrics/include/public
	${SWG_ENGINE_SOURCE_DIR}/server/library/serverNetworkMessages/include/public
	${SWG_ENGINE_SOURCE_DIR}/server/library/serverPathfinding/include/public
	${SWG_ENGINE_SOURCE_DIR}/server/library/serverScript/include/public
	${SWG_ENGINE_SOURCE_DIR}/server/library/serverUtility/include/public
	${SWG_GAME_SOURCE_DIR}/server/application/SwgGameServer/include/public
	${SWG_GAME_SOURCE_DIR}/server/library/swgServerNetworkMessages/include/public
	${SWG_GAME_SOURCE_DIR}/shared/library/swgSharedNetworkMessages/include/public
	${SWG_GAME_SOURCE_DIR}/shared/library/swgSharedUtility/include/public
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/fileInterface/include/public
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localization/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localizationArchive/include/public
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/singleton/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicode/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicodeArchive/include/public
	${SWG_EXTERNALS_SOURCE_DIR}/3rd/library/platform/projects
	${Boost_INCLUDE_DIR}
	${JNI_INCLUDE_DIRS}
	${PCRE_INCLUDE_DIR}
)

file(TO_NATIVE_PATH ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_packages.pl MAKE_PACKAGES_NATIVE_PATH)
file(TO_NATIVE_PATH ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/package_data.txt PACKAGE_DATA_NATIVE_PATH)
file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp SOURCE_OUTPUT_NATIVE_PATH)
file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Packager_cpp.template SOURCE_TEMPLATE_NATIVE_PATH)

if(WIN32)
    set(WINDOWS_PLATFORM --windows)
endif()

add_custom_command(
	OUTPUT ${SOURCE_OUTPUT_NATIVE_PATH}
	COMMAND ${CMAKE_COMMAND} -E copy ${SOURCE_TEMPLATE_NATIVE_PATH} ${SOURCE_OUTPUT_NATIVE_PATH}
	COMMAND ${PERL_EXECUTABLE} "${MAKE_PACKAGES_NATIVE_PATH}" --datafile "${PACKAGE_DATA_NATIVE_PATH}" --source "${SOURCE_OUTPUT_NATIVE_PATH}" ${WINDOWS_PLATFORM}
	DEPENDS ${SOURCE_TEMPLATE_NATIVE_PATH} ${MAKE_PACKAGES_NATIVE_PATH} ${PACKAGE_DATA_NATIVE_PATH}
)

add_library(serverGame STATIC
	${SHARED_SOURCES}
	${PLATFORM_SOURCES}
	${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp
)

target_link_libraries(serverGame
	sharedCommandParser
	sharedPathfinding
	sharedSkillSystem
	sharedTerrain
)
