
set(SHARED_SOURCES
	shared/core/FirstSharedTemplate.h
	shared/core/SetupSharedTemplate.cpp
	shared/core/SetupSharedTemplate.h

	shared/template/ServerArmorTemplate.cpp
	shared/template/ServerArmorTemplate.h
	shared/template/ServerBattlefieldMarkerObjectTemplate.cpp
	shared/template/ServerBattlefieldMarkerObjectTemplate.h
	shared/template/ServerBuildingObjectTemplate.cpp
	shared/template/ServerBuildingObjectTemplate.h
	shared/template/ServerCellObjectTemplate.cpp
	shared/template/ServerCellObjectTemplate.h
	shared/template/ServerCityObjectTemplate.cpp
	shared/template/ServerCityObjectTemplate.h
	shared/template/ServerConstructionContractObjectTemplate.cpp
	shared/template/ServerConstructionContractObjectTemplate.h
	shared/template/ServerCreatureObjectTemplate.cpp
	shared/template/ServerCreatureObjectTemplate.h
	shared/template/ServerDraftSchematicObjectTemplate.cpp
	shared/template/ServerDraftSchematicObjectTemplate.h
	shared/template/ServerFactoryObjectTemplate.cpp
	shared/template/ServerFactoryObjectTemplate.h
	shared/template/ServerGroupObjectTemplate.cpp
	shared/template/ServerGroupObjectTemplate.h
	shared/template/ServerGuildObjectTemplate.cpp
	shared/template/ServerGuildObjectTemplate.h
	shared/template/ServerHarvesterInstallationObjectTemplate.cpp
	shared/template/ServerHarvesterInstallationObjectTemplate.h
	shared/template/ServerInstallationObjectTemplate.cpp
	shared/template/ServerInstallationObjectTemplate.h
	shared/template/ServerIntangibleObjectTemplate.cpp
	shared/template/ServerIntangibleObjectTemplate.h
	shared/template/ServerJediManagerObjectTemplate.cpp
	shared/template/ServerJediManagerObjectTemplate.h
	shared/template/ServerManufactureInstallationObjectTemplate.cpp
	shared/template/ServerManufactureInstallationObjectTemplate.h
	shared/template/ServerManufactureSchematicObjectTemplate.cpp
	shared/template/ServerManufactureSchematicObjectTemplate.h
	shared/template/ServerMissionBoardObjectTemplate.cpp
	shared/template/ServerMissionBoardObjectTemplate.h
	shared/template/ServerMissionDataObjectTemplate.cpp
	shared/template/ServerMissionDataObjectTemplate.h
	shared/template/ServerMissionListEntryObjectTemplate.cpp
	shared/template/ServerMissionListEntryObjectTemplate.h
	shared/template/ServerMissionObjectTemplate.cpp
	shared/template/ServerMissionObjectTemplate.h
	shared/template/ServerObjectTemplate.cpp
	shared/template/ServerObjectTemplate.h
	shared/template/ServerPlanetObjectTemplate.cpp
	shared/template/ServerPlanetObjectTemplate.h
	shared/template/ServerPlayerObjectTemplate.cpp
	shared/template/ServerPlayerObjectTemplate.h
	shared/template/ServerPlayerQuestObjectTemplate.cpp
	shared/template/ServerPlayerQuestObjectTemplate.h
	shared/template/ServerResourceClassObjectTemplate.cpp
	shared/template/ServerResourceClassObjectTemplate.h
	shared/template/ServerResourceContainerObjectTemplate.cpp
	shared/template/ServerResourceContainerObjectTemplate.h
	shared/template/ServerResourcePoolObjectTemplate.cpp
	shared/template/ServerResourcePoolObjectTemplate.h
	shared/template/ServerResourceTypeObjectTemplate.cpp
	shared/template/ServerResourceTypeObjectTemplate.h
	shared/template/ServerShipObjectTemplate.cpp
	shared/template/ServerShipObjectTemplate.h
	shared/template/ServerStaticObjectTemplate.cpp
	shared/template/ServerStaticObjectTemplate.h
	shared/template/ServerTangibleObjectTemplate.cpp
	shared/template/ServerTangibleObjectTemplate.h
	shared/template/ServerTokenObjectTemplate.cpp
	shared/template/ServerTokenObjectTemplate.h
	shared/template/ServerUberObjectTemplate.cpp
	shared/template/ServerUberObjectTemplate.h
	shared/template/ServerUniverseObjectTemplate.cpp
	shared/template/ServerUniverseObjectTemplate.h
	shared/template/ServerVehicleObjectTemplate.cpp
	shared/template/ServerVehicleObjectTemplate.h
	shared/template/ServerWaypointObjectTemplate.cpp
	shared/template/ServerWaypointObjectTemplate.h
	shared/template/ServerWeaponObjectTemplate.cpp
	shared/template/ServerWeaponObjectTemplate.h
	shared/template/ServerXpManagerObjectTemplate.cpp
	shared/template/ServerXpManagerObjectTemplate.h
	shared/template/SharedBattlefieldMarkerObjectTemplate.cpp
	shared/template/SharedBattlefieldMarkerObjectTemplate.h
	shared/template/SharedBuildingObjectTemplate.cpp
	shared/template/SharedBuildingObjectTemplate.h
	shared/template/SharedCellObjectTemplate.cpp
	shared/template/SharedCellObjectTemplate.h
	shared/template/SharedConstructionContractObjectTemplate.cpp
	shared/template/SharedConstructionContractObjectTemplate.h
	shared/template/SharedCreatureObjectTemplate.cpp
	shared/template/SharedCreatureObjectTemplate.h
	shared/template/SharedDraftSchematicObjectTemplate.cpp
	shared/template/SharedDraftSchematicObjectTemplate.h
	shared/template/SharedFactoryObjectTemplate.cpp
	shared/template/SharedFactoryObjectTemplate.h
	shared/template/SharedGroupObjectTemplate.cpp
	shared/template/SharedGroupObjectTemplate.h
	shared/template/SharedGuildObjectTemplate.cpp
	shared/template/SharedGuildObjectTemplate.h
	shared/template/SharedInstallationObjectTemplate.cpp
	shared/template/SharedInstallationObjectTemplate.h
	shared/template/SharedIntangibleObjectTemplate.cpp
	shared/template/SharedIntangibleObjectTemplate.h
	shared/template/SharedJediManagerObjectTemplate.cpp
	shared/template/SharedJediManagerObjectTemplate.h
	shared/template/SharedManufactureSchematicObjectTemplate.cpp
	shared/template/SharedManufactureSchematicObjectTemplate.h
	shared/template/SharedMissionDataObjectTemplate.cpp
	shared/template/SharedMissionDataObjectTemplate.h
	shared/template/SharedMissionListEntryObjectTemplate.cpp
	shared/template/SharedMissionListEntryObjectTemplate.h
	shared/template/SharedMissionObjectTemplate.cpp
	shared/template/SharedMissionObjectTemplate.h
	shared/template/SharedObjectTemplate.cpp
	shared/template/SharedObjectTemplate.h
	shared/template/SharedPlayerObjectTemplate.cpp
	shared/template/SharedPlayerObjectTemplate.h
	shared/template/SharedPlayerQuestObjectTemplate.cpp
	shared/template/SharedPlayerQuestObjectTemplate.h
	shared/template/SharedResourceContainerObjectTemplate.cpp
	shared/template/SharedResourceContainerObjectTemplate.h
	shared/template/SharedShipObjectTemplate.cpp
	shared/template/SharedShipObjectTemplate.h
	shared/template/SharedStaticObjectTemplate.cpp
	shared/template/SharedStaticObjectTemplate.h
	shared/template/SharedTangibleObjectTemplate.cpp
	shared/template/SharedTangibleObjectTemplate.h
	shared/template/SharedTerrainSurfaceObjectTemplate.cpp
	shared/template/SharedTerrainSurfaceObjectTemplate.h
	shared/template/SharedTokenObjectTemplate.cpp
	shared/template/SharedTokenObjectTemplate.h
	shared/template/SharedUniverseObjectTemplate.cpp
	shared/template/SharedUniverseObjectTemplate.h
	shared/template/SharedVehicleObjectTemplate.cpp
	shared/template/SharedVehicleObjectTemplate.h
	shared/template/SharedWaypointObjectTemplate.cpp
	shared/template/SharedWaypointObjectTemplate.h
	shared/template/SharedWeaponObjectTemplate.cpp
	shared/template/SharedWeaponObjectTemplate.h 
)

if(WIN32)
	set(PLATFORM_SOURCES
		win32/FirstSharedTemplate.cpp
	)
endif()

include_directories(
	${CMAKE_CURRENT_SOURCE_DIR}/shared/core
	${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/sharedRandom/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedRegex/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedTemplateDefinition/include/public
	${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedUtility/include/public
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localization/include
	${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicode/include
	${PCRE_INCLUDE_DIR}
)

add_library(sharedTemplate STATIC
	${SHARED_SOURCES}
	${PLATFORM_SOURCES}
)
