1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-26 03:52:01 +02:00

add standard lib target back

- the moved CMakeLists.txt is turned into a macro (adds whitespace difference)
- now uses absolute paths to the lib and include dirs
- refactors iOS install section to use "early continue" in the foreach loop
This commit is contained in:
Andrey Filipenkov 2022-07-27 12:12:57 +03:00
parent 267e8df7db
commit 2d3002bc1d
2 changed files with 475 additions and 467 deletions

View File

@ -1,515 +1,522 @@
set(lib_SRCS macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
StdInc.cpp set(MAIN_LIB_DIR "${CMAKE_SOURCE_DIR}/lib")
set(lib_SRCS
${MAIN_LIB_DIR}/StdInc.cpp
${CMAKE_BINARY_DIR}/Version.cpp ${CMAKE_BINARY_DIR}/Version.cpp
battle/AccessibilityInfo.cpp ${MAIN_LIB_DIR}/battle/AccessibilityInfo.cpp
battle/BattleAction.cpp ${MAIN_LIB_DIR}/battle/BattleAction.cpp
battle/BattleAttackInfo.cpp ${MAIN_LIB_DIR}/battle/BattleAttackInfo.cpp
battle/BattleHex.cpp ${MAIN_LIB_DIR}/battle/BattleHex.cpp
battle/BattleInfo.cpp ${MAIN_LIB_DIR}/battle/BattleInfo.cpp
battle/BattleProxy.cpp ${MAIN_LIB_DIR}/battle/BattleProxy.cpp
battle/CBattleInfoCallback.cpp ${MAIN_LIB_DIR}/battle/CBattleInfoCallback.cpp
battle/CBattleInfoEssentials.cpp ${MAIN_LIB_DIR}/battle/CBattleInfoEssentials.cpp
battle/CCallbackBase.cpp ${MAIN_LIB_DIR}/battle/CCallbackBase.cpp
battle/CObstacleInstance.cpp ${MAIN_LIB_DIR}/battle/CObstacleInstance.cpp
battle/CPlayerBattleCallback.cpp ${MAIN_LIB_DIR}/battle/CPlayerBattleCallback.cpp
battle/CUnitState.cpp ${MAIN_LIB_DIR}/battle/CUnitState.cpp
battle/Destination.cpp ${MAIN_LIB_DIR}/battle/Destination.cpp
battle/IBattleState.cpp ${MAIN_LIB_DIR}/battle/IBattleState.cpp
battle/ReachabilityInfo.cpp ${MAIN_LIB_DIR}/battle/ReachabilityInfo.cpp
battle/SideInBattle.cpp ${MAIN_LIB_DIR}/battle/SideInBattle.cpp
battle/SiegeInfo.cpp ${MAIN_LIB_DIR}/battle/SiegeInfo.cpp
battle/Unit.cpp ${MAIN_LIB_DIR}/battle/Unit.cpp
events/ApplyDamage.cpp ${MAIN_LIB_DIR}/events/ApplyDamage.cpp
events/GameResumed.cpp ${MAIN_LIB_DIR}/events/GameResumed.cpp
events/ObjectVisitEnded.cpp ${MAIN_LIB_DIR}/events/ObjectVisitEnded.cpp
events/ObjectVisitStarted.cpp ${MAIN_LIB_DIR}/events/ObjectVisitStarted.cpp
events/PlayerGotTurn.cpp ${MAIN_LIB_DIR}/events/PlayerGotTurn.cpp
events/TurnStarted.cpp ${MAIN_LIB_DIR}/events/TurnStarted.cpp
filesystem/AdapterLoaders.cpp ${MAIN_LIB_DIR}/filesystem/AdapterLoaders.cpp
filesystem/CArchiveLoader.cpp ${MAIN_LIB_DIR}/filesystem/CArchiveLoader.cpp
filesystem/CBinaryReader.cpp ${MAIN_LIB_DIR}/filesystem/CBinaryReader.cpp
filesystem/CCompressedStream.cpp ${MAIN_LIB_DIR}/filesystem/CCompressedStream.cpp
filesystem/CFileInputStream.cpp ${MAIN_LIB_DIR}/filesystem/CFileInputStream.cpp
filesystem/CFilesystemLoader.cpp ${MAIN_LIB_DIR}/filesystem/CFilesystemLoader.cpp
filesystem/CMemoryBuffer.cpp ${MAIN_LIB_DIR}/filesystem/CMemoryBuffer.cpp
filesystem/CMemoryStream.cpp ${MAIN_LIB_DIR}/filesystem/CMemoryStream.cpp
filesystem/CZipLoader.cpp ${MAIN_LIB_DIR}/filesystem/CZipLoader.cpp
filesystem/CZipSaver.cpp ${MAIN_LIB_DIR}/filesystem/CZipSaver.cpp
filesystem/FileInfo.cpp ${MAIN_LIB_DIR}/filesystem/FileInfo.cpp
filesystem/FileStream.cpp ${MAIN_LIB_DIR}/filesystem/FileStream.cpp
filesystem/Filesystem.cpp ${MAIN_LIB_DIR}/filesystem/Filesystem.cpp
filesystem/MinizipExtensions.cpp ${MAIN_LIB_DIR}/filesystem/MinizipExtensions.cpp
filesystem/ResourceID.cpp ${MAIN_LIB_DIR}/filesystem/ResourceID.cpp
logging/CBasicLogConfigurator.cpp ${MAIN_LIB_DIR}/logging/CBasicLogConfigurator.cpp
logging/CLogger.cpp ${MAIN_LIB_DIR}/logging/CLogger.cpp
mapObjects/CArmedInstance.cpp ${MAIN_LIB_DIR}/mapObjects/CArmedInstance.cpp
mapObjects/CBank.cpp ${MAIN_LIB_DIR}/mapObjects/CBank.cpp
mapObjects/CGHeroInstance.cpp ${MAIN_LIB_DIR}/mapObjects/CGHeroInstance.cpp
mapObjects/CGMarket.cpp ${MAIN_LIB_DIR}/mapObjects/CGMarket.cpp
mapObjects/CGPandoraBox.cpp ${MAIN_LIB_DIR}/mapObjects/CGPandoraBox.cpp
mapObjects/CGTownInstance.cpp ${MAIN_LIB_DIR}/mapObjects/CGTownInstance.cpp
mapObjects/CObjectClassesHandler.cpp ${MAIN_LIB_DIR}/mapObjects/CObjectClassesHandler.cpp
mapObjects/CObjectHandler.cpp ${MAIN_LIB_DIR}/mapObjects/CObjectHandler.cpp
mapObjects/CommonConstructors.cpp ${MAIN_LIB_DIR}/mapObjects/CommonConstructors.cpp
mapObjects/CQuest.cpp ${MAIN_LIB_DIR}/mapObjects/CQuest.cpp
mapObjects/CRewardableConstructor.cpp ${MAIN_LIB_DIR}/mapObjects/CRewardableConstructor.cpp
mapObjects/CRewardableObject.cpp ${MAIN_LIB_DIR}/mapObjects/CRewardableObject.cpp
mapObjects/JsonRandom.cpp ${MAIN_LIB_DIR}/mapObjects/JsonRandom.cpp
mapObjects/MiscObjects.cpp ${MAIN_LIB_DIR}/mapObjects/MiscObjects.cpp
mapObjects/ObjectTemplate.cpp ${MAIN_LIB_DIR}/mapObjects/ObjectTemplate.cpp
mapping/CCampaignHandler.cpp ${MAIN_LIB_DIR}/mapping/CCampaignHandler.cpp
mapping/CDrawRoadsOperation.cpp ${MAIN_LIB_DIR}/mapping/CDrawRoadsOperation.cpp
mapping/CMap.cpp ${MAIN_LIB_DIR}/mapping/CMap.cpp
mapping/CMapEditManager.cpp ${MAIN_LIB_DIR}/mapping/CMapEditManager.cpp
mapping/CMapInfo.cpp ${MAIN_LIB_DIR}/mapping/CMapInfo.cpp
mapping/CMapOperation.cpp ${MAIN_LIB_DIR}/mapping/CMapOperation.cpp
mapping/CMapService.cpp ${MAIN_LIB_DIR}/mapping/CMapService.cpp
mapping/MapEditUtils.cpp ${MAIN_LIB_DIR}/mapping/MapEditUtils.cpp
mapping/MapFormatH3M.cpp ${MAIN_LIB_DIR}/mapping/MapFormatH3M.cpp
mapping/MapFormatJson.cpp ${MAIN_LIB_DIR}/mapping/MapFormatJson.cpp
registerTypes/RegisterTypes.cpp ${MAIN_LIB_DIR}/registerTypes/RegisterTypes.cpp
registerTypes/TypesClientPacks1.cpp ${MAIN_LIB_DIR}/registerTypes/TypesClientPacks1.cpp
registerTypes/TypesClientPacks2.cpp ${MAIN_LIB_DIR}/registerTypes/TypesClientPacks2.cpp
registerTypes/TypesMapObjects1.cpp ${MAIN_LIB_DIR}/registerTypes/TypesMapObjects1.cpp
registerTypes/TypesMapObjects2.cpp ${MAIN_LIB_DIR}/registerTypes/TypesMapObjects2.cpp
registerTypes/TypesMapObjects3.cpp ${MAIN_LIB_DIR}/registerTypes/TypesMapObjects3.cpp
registerTypes/TypesLobbyPacks.cpp ${MAIN_LIB_DIR}/registerTypes/TypesLobbyPacks.cpp
registerTypes/TypesServerPacks.cpp ${MAIN_LIB_DIR}/registerTypes/TypesServerPacks.cpp
rmg/RmgArea.cpp ${MAIN_LIB_DIR}/rmg/RmgArea.cpp
rmg/RmgObject.cpp ${MAIN_LIB_DIR}/rmg/RmgObject.cpp
rmg/RmgPath.cpp ${MAIN_LIB_DIR}/rmg/RmgPath.cpp
rmg/CMapGenerator.cpp ${MAIN_LIB_DIR}/rmg/CMapGenerator.cpp
rmg/CMapGenOptions.cpp ${MAIN_LIB_DIR}/rmg/CMapGenOptions.cpp
rmg/CRmgTemplate.cpp ${MAIN_LIB_DIR}/rmg/CRmgTemplate.cpp
rmg/CRmgTemplateStorage.cpp ${MAIN_LIB_DIR}/rmg/CRmgTemplateStorage.cpp
rmg/CZonePlacer.cpp ${MAIN_LIB_DIR}/rmg/CZonePlacer.cpp
rmg/TileInfo.cpp ${MAIN_LIB_DIR}/rmg/TileInfo.cpp
rmg/Zone.cpp ${MAIN_LIB_DIR}/rmg/Zone.cpp
rmg/Functions.cpp ${MAIN_LIB_DIR}/rmg/Functions.cpp
rmg/ObjectManager.cpp ${MAIN_LIB_DIR}/rmg/ObjectManager.cpp
rmg/RoadPlacer.cpp ${MAIN_LIB_DIR}/rmg/RoadPlacer.cpp
rmg/TreasurePlacer.cpp ${MAIN_LIB_DIR}/rmg/TreasurePlacer.cpp
rmg/RmgMap.cpp ${MAIN_LIB_DIR}/rmg/RmgMap.cpp
rmg/ConnectionsPlacer.cpp ${MAIN_LIB_DIR}/rmg/ConnectionsPlacer.cpp
rmg/WaterAdopter.cpp ${MAIN_LIB_DIR}/rmg/WaterAdopter.cpp
rmg/TownPlacer.cpp ${MAIN_LIB_DIR}/rmg/TownPlacer.cpp
rmg/WaterProxy.cpp ${MAIN_LIB_DIR}/rmg/WaterProxy.cpp
rmg/WaterRoutes.cpp ${MAIN_LIB_DIR}/rmg/WaterRoutes.cpp
rmg/RockPlacer.cpp ${MAIN_LIB_DIR}/rmg/RockPlacer.cpp
rmg/ObstaclePlacer.cpp ${MAIN_LIB_DIR}/rmg/ObstaclePlacer.cpp
rmg/RiverPlacer.cpp ${MAIN_LIB_DIR}/rmg/RiverPlacer.cpp
rmg/TerrainPainter.cpp ${MAIN_LIB_DIR}/rmg/TerrainPainter.cpp
serializer/BinaryDeserializer.cpp ${MAIN_LIB_DIR}/serializer/BinaryDeserializer.cpp
serializer/BinarySerializer.cpp ${MAIN_LIB_DIR}/serializer/BinarySerializer.cpp
serializer/CLoadIntegrityValidator.cpp ${MAIN_LIB_DIR}/serializer/CLoadIntegrityValidator.cpp
serializer/CMemorySerializer.cpp ${MAIN_LIB_DIR}/serializer/CMemorySerializer.cpp
serializer/Connection.cpp ${MAIN_LIB_DIR}/serializer/Connection.cpp
serializer/CSerializer.cpp ${MAIN_LIB_DIR}/serializer/CSerializer.cpp
serializer/CTypeList.cpp ${MAIN_LIB_DIR}/serializer/CTypeList.cpp
serializer/JsonDeserializer.cpp ${MAIN_LIB_DIR}/serializer/JsonDeserializer.cpp
serializer/JsonSerializeFormat.cpp ${MAIN_LIB_DIR}/serializer/JsonSerializeFormat.cpp
serializer/JsonSerializer.cpp ${MAIN_LIB_DIR}/serializer/JsonSerializer.cpp
serializer/JsonUpdater.cpp ${MAIN_LIB_DIR}/serializer/JsonUpdater.cpp
spells/AbilityCaster.cpp ${MAIN_LIB_DIR}/spells/AbilityCaster.cpp
spells/AdventureSpellMechanics.cpp ${MAIN_LIB_DIR}/spells/AdventureSpellMechanics.cpp
spells/BattleSpellMechanics.cpp ${MAIN_LIB_DIR}/spells/BattleSpellMechanics.cpp
spells/BonusCaster.cpp ${MAIN_LIB_DIR}/spells/BonusCaster.cpp
spells/CSpellHandler.cpp ${MAIN_LIB_DIR}/spells/CSpellHandler.cpp
spells/ISpellMechanics.cpp ${MAIN_LIB_DIR}/spells/ISpellMechanics.cpp
spells/Problem.cpp ${MAIN_LIB_DIR}/spells/Problem.cpp
spells/ProxyCaster.cpp ${MAIN_LIB_DIR}/spells/ProxyCaster.cpp
spells/TargetCondition.cpp ${MAIN_LIB_DIR}/spells/TargetCondition.cpp
spells/ViewSpellInt.cpp ${MAIN_LIB_DIR}/spells/ViewSpellInt.cpp
spells/effects/Catapult.cpp ${MAIN_LIB_DIR}/spells/effects/Catapult.cpp
spells/effects/Clone.cpp ${MAIN_LIB_DIR}/spells/effects/Clone.cpp
spells/effects/Damage.cpp ${MAIN_LIB_DIR}/spells/effects/Damage.cpp
spells/effects/Dispel.cpp ${MAIN_LIB_DIR}/spells/effects/Dispel.cpp
spells/effects/Effect.cpp ${MAIN_LIB_DIR}/spells/effects/Effect.cpp
spells/effects/Effects.cpp ${MAIN_LIB_DIR}/spells/effects/Effects.cpp
spells/effects/Heal.cpp ${MAIN_LIB_DIR}/spells/effects/Heal.cpp
spells/effects/LocationEffect.cpp ${MAIN_LIB_DIR}/spells/effects/LocationEffect.cpp
spells/effects/Obstacle.cpp ${MAIN_LIB_DIR}/spells/effects/Obstacle.cpp
spells/effects/Registry.cpp ${MAIN_LIB_DIR}/spells/effects/Registry.cpp
spells/effects/UnitEffect.cpp ${MAIN_LIB_DIR}/spells/effects/UnitEffect.cpp
spells/effects/Summon.cpp ${MAIN_LIB_DIR}/spells/effects/Summon.cpp
spells/effects/Teleport.cpp ${MAIN_LIB_DIR}/spells/effects/Teleport.cpp
spells/effects/Timed.cpp ${MAIN_LIB_DIR}/spells/effects/Timed.cpp
spells/effects/RemoveObstacle.cpp ${MAIN_LIB_DIR}/spells/effects/RemoveObstacle.cpp
spells/effects/Sacrifice.cpp ${MAIN_LIB_DIR}/spells/effects/Sacrifice.cpp
vstd/StringUtils.cpp ${MAIN_LIB_DIR}/vstd/StringUtils.cpp
BattleFieldHandler.cpp ${MAIN_LIB_DIR}/BattleFieldHandler.cpp
CAndroidVMHelper.cpp ${MAIN_LIB_DIR}/CAndroidVMHelper.cpp
CArtHandler.cpp ${MAIN_LIB_DIR}/CArtHandler.cpp
CBonusTypeHandler.cpp ${MAIN_LIB_DIR}/CBonusTypeHandler.cpp
CBuildingHandler.cpp ${MAIN_LIB_DIR}/CBuildingHandler.cpp
CConfigHandler.cpp ${MAIN_LIB_DIR}/CConfigHandler.cpp
CConsoleHandler.cpp ${MAIN_LIB_DIR}/CConsoleHandler.cpp
CCreatureHandler.cpp ${MAIN_LIB_DIR}/CCreatureHandler.cpp
CCreatureSet.cpp ${MAIN_LIB_DIR}/CCreatureSet.cpp
CGameInfoCallback.cpp ${MAIN_LIB_DIR}/CGameInfoCallback.cpp
CGameInterface.cpp ${MAIN_LIB_DIR}/CGameInterface.cpp
CGameState.cpp ${MAIN_LIB_DIR}/CGameState.cpp
CGeneralTextHandler.cpp ${MAIN_LIB_DIR}/CGeneralTextHandler.cpp
CHeroHandler.cpp ${MAIN_LIB_DIR}/CHeroHandler.cpp
CModHandler.cpp ${MAIN_LIB_DIR}/CModHandler.cpp
CPathfinder.cpp ${MAIN_LIB_DIR}/CPathfinder.cpp
CPlayerState.cpp ${MAIN_LIB_DIR}/CPlayerState.cpp
CRandomGenerator.cpp ${MAIN_LIB_DIR}/CRandomGenerator.cpp
CScriptingModule.cpp ${MAIN_LIB_DIR}/CScriptingModule.cpp
CSkillHandler.cpp ${MAIN_LIB_DIR}/CSkillHandler.cpp
CStack.cpp ${MAIN_LIB_DIR}/CStack.cpp
CThreadHelper.cpp ${MAIN_LIB_DIR}/CThreadHelper.cpp
CTownHandler.cpp ${MAIN_LIB_DIR}/CTownHandler.cpp
GameConstants.cpp ${MAIN_LIB_DIR}/GameConstants.cpp
HeroBonus.cpp ${MAIN_LIB_DIR}/HeroBonus.cpp
IGameCallback.cpp ${MAIN_LIB_DIR}/IGameCallback.cpp
IHandlerBase.cpp ${MAIN_LIB_DIR}/IHandlerBase.cpp
JsonDetail.cpp ${MAIN_LIB_DIR}/JsonDetail.cpp
JsonNode.cpp ${MAIN_LIB_DIR}/JsonNode.cpp
LoadProgress.cpp ${MAIN_LIB_DIR}/LoadProgress.cpp
LogicalExpression.cpp ${MAIN_LIB_DIR}/LogicalExpression.cpp
NetPacksLib.cpp ${MAIN_LIB_DIR}/NetPacksLib.cpp
ObstacleHandler.cpp ${MAIN_LIB_DIR}/ObstacleHandler.cpp
StartInfo.cpp ${MAIN_LIB_DIR}/StartInfo.cpp
ResourceSet.cpp ${MAIN_LIB_DIR}/ResourceSet.cpp
ScriptHandler.cpp ${MAIN_LIB_DIR}/ScriptHandler.cpp
Terrain.cpp ${MAIN_LIB_DIR}/Terrain.cpp
VCMIDirs.cpp ${MAIN_LIB_DIR}/VCMIDirs.cpp
VCMI_Lib.cpp ${MAIN_LIB_DIR}/VCMI_Lib.cpp
${VCMILIB_ADDITIONAL_SOURCES} ${VCMILIB_ADDITIONAL_SOURCES}
) )
# Version.cpp is a generated file # Version.cpp is a generated file
set_source_files_properties(${CMAKE_BINARY_DIR}/Version.cpp set_source_files_properties(${CMAKE_BINARY_DIR}/Version.cpp
PROPERTIES GENERATED TRUE PROPERTIES GENERATED TRUE
) )
set(lib_HEADERS set(lib_HEADERS
../include/vstd/CLoggerBase.h ${CMAKE_SOURCE_DIR}/include/vstd/CLoggerBase.h
../Global.h ${CMAKE_SOURCE_DIR}/Global.h
StdInc.h ${MAIN_LIB_DIR}/StdInc.h
../include/vstd/ContainerUtils.h ${CMAKE_SOURCE_DIR}/include/vstd/ContainerUtils.h
../include/vstd/RNG.h ${CMAKE_SOURCE_DIR}/include/vstd/RNG.h
../include/vstd/StringUtils.h ${CMAKE_SOURCE_DIR}/include/vstd/StringUtils.h
../include/vcmi/events/ApplyDamage.h ${CMAKE_SOURCE_DIR}/include/vcmi/events/ApplyDamage.h
../include/vcmi/events/Event.h ${CMAKE_SOURCE_DIR}/include/vcmi/events/Event.h
../include/vcmi/events/EventBus.h ${CMAKE_SOURCE_DIR}/include/vcmi/events/EventBus.h
../include/vcmi/events/SubscriptionRegistry.h ${CMAKE_SOURCE_DIR}/include/vcmi/events/SubscriptionRegistry.h
../include/vcmi/scripting/Service.h ${CMAKE_SOURCE_DIR}/include/vcmi/scripting/Service.h
../include/vcmi/spells/Caster.h ${CMAKE_SOURCE_DIR}/include/vcmi/spells/Caster.h
../include/vcmi/spells/Magic.h ${CMAKE_SOURCE_DIR}/include/vcmi/spells/Magic.h
../include/vcmi/spells/Service.h ${CMAKE_SOURCE_DIR}/include/vcmi/spells/Service.h
../include/vcmi/spells/Spell.h ${CMAKE_SOURCE_DIR}/include/vcmi/spells/Spell.h
../include/vcmi/Artifact.h ${CMAKE_SOURCE_DIR}/include/vcmi/Artifact.h
../include/vcmi/ArtifactService.h ${CMAKE_SOURCE_DIR}/include/vcmi/ArtifactService.h
../include/vcmi/Creature.h ${CMAKE_SOURCE_DIR}/include/vcmi/Creature.h
../include/vcmi/CreatureService.h ${CMAKE_SOURCE_DIR}/include/vcmi/CreatureService.h
../include/vcmi/Entity.h ${CMAKE_SOURCE_DIR}/include/vcmi/Entity.h
../include/vcmi/Environment.h ${CMAKE_SOURCE_DIR}/include/vcmi/Environment.h
../include/vcmi/Services.h ${CMAKE_SOURCE_DIR}/include/vcmi/Services.h
abilities/Ability.h ${MAIN_LIB_DIR}/abilities/Ability.h
battle/AccessibilityInfo.h ${MAIN_LIB_DIR}/battle/AccessibilityInfo.h
battle/BattleAction.h ${MAIN_LIB_DIR}/battle/BattleAction.h
battle/BattleAttackInfo.h ${MAIN_LIB_DIR}/battle/BattleAttackInfo.h
battle/BattleHex.h ${MAIN_LIB_DIR}/battle/BattleHex.h
battle/BattleInfo.h ${MAIN_LIB_DIR}/battle/BattleInfo.h
battle/BattleProxy.h ${MAIN_LIB_DIR}/battle/BattleProxy.h
battle/CBattleInfoCallback.h ${MAIN_LIB_DIR}/battle/CBattleInfoCallback.h
battle/CBattleInfoEssentials.h ${MAIN_LIB_DIR}/battle/CBattleInfoEssentials.h
battle/CCallbackBase.h ${MAIN_LIB_DIR}/battle/CCallbackBase.h
battle/CObstacleInstance.h ${MAIN_LIB_DIR}/battle/CObstacleInstance.h
battle/CPlayerBattleCallback.h ${MAIN_LIB_DIR}/battle/CPlayerBattleCallback.h
battle/CUnitState.h ${MAIN_LIB_DIR}/battle/CUnitState.h
battle/Destination.h ${MAIN_LIB_DIR}/battle/Destination.h
battle/IBattleInfoCallback.h ${MAIN_LIB_DIR}/battle/IBattleInfoCallback.h
battle/IBattleState.h ${MAIN_LIB_DIR}/battle/IBattleState.h
battle/IUnitInfo.h ${MAIN_LIB_DIR}/battle/IUnitInfo.h
battle/ReachabilityInfo.h ${MAIN_LIB_DIR}/battle/ReachabilityInfo.h
battle/SideInBattle.h ${MAIN_LIB_DIR}/battle/SideInBattle.h
battle/SiegeInfo.h ${MAIN_LIB_DIR}/battle/SiegeInfo.h
battle/Unit.h ${MAIN_LIB_DIR}/battle/Unit.h
events/ApplyDamage.h ${MAIN_LIB_DIR}/events/ApplyDamage.h
events/GameResumed.h ${MAIN_LIB_DIR}/events/GameResumed.h
events/ObjectVisitEnded.h ${MAIN_LIB_DIR}/events/ObjectVisitEnded.h
events/ObjectVisitStarted.h ${MAIN_LIB_DIR}/events/ObjectVisitStarted.h
events/PlayerGotTurn.h ${MAIN_LIB_DIR}/events/PlayerGotTurn.h
events/TurnStarted.h ${MAIN_LIB_DIR}/events/TurnStarted.h
filesystem/AdapterLoaders.h ${MAIN_LIB_DIR}/filesystem/AdapterLoaders.h
filesystem/CArchiveLoader.h ${MAIN_LIB_DIR}/filesystem/CArchiveLoader.h
filesystem/CBinaryReader.h ${MAIN_LIB_DIR}/filesystem/CBinaryReader.h
filesystem/CCompressedStream.h ${MAIN_LIB_DIR}/filesystem/CCompressedStream.h
filesystem/CFileInputStream.h ${MAIN_LIB_DIR}/filesystem/CFileInputStream.h
filesystem/CFilesystemLoader.h ${MAIN_LIB_DIR}/filesystem/CFilesystemLoader.h
filesystem/CInputOutputStream.h ${MAIN_LIB_DIR}/filesystem/CInputOutputStream.h
filesystem/CInputStream.h ${MAIN_LIB_DIR}/filesystem/CInputStream.h
filesystem/CMemoryBuffer.h ${MAIN_LIB_DIR}/filesystem/CMemoryBuffer.h
filesystem/CMemoryStream.h ${MAIN_LIB_DIR}/filesystem/CMemoryStream.h
filesystem/COutputStream.h ${MAIN_LIB_DIR}/filesystem/COutputStream.h
filesystem/CStream.h ${MAIN_LIB_DIR}/filesystem/CStream.h
filesystem/CZipLoader.h ${MAIN_LIB_DIR}/filesystem/CZipLoader.h
filesystem/CZipSaver.h ${MAIN_LIB_DIR}/filesystem/CZipSaver.h
filesystem/FileInfo.h ${MAIN_LIB_DIR}/filesystem/FileInfo.h
filesystem/FileStream.h ${MAIN_LIB_DIR}/filesystem/FileStream.h
filesystem/Filesystem.h ${MAIN_LIB_DIR}/filesystem/Filesystem.h
filesystem/ISimpleResourceLoader.h ${MAIN_LIB_DIR}/filesystem/ISimpleResourceLoader.h
filesystem/MinizipExtensions.h ${MAIN_LIB_DIR}/filesystem/MinizipExtensions.h
filesystem/ResourceID.h ${MAIN_LIB_DIR}/filesystem/ResourceID.h
logging/CBasicLogConfigurator.h ${MAIN_LIB_DIR}/logging/CBasicLogConfigurator.h
logging/CLogger.h ${MAIN_LIB_DIR}/logging/CLogger.h
mapObjects/CArmedInstance.h ${MAIN_LIB_DIR}/mapObjects/CArmedInstance.h
mapObjects/CBank.h ${MAIN_LIB_DIR}/mapObjects/CBank.h
mapObjects/CGHeroInstance.h ${MAIN_LIB_DIR}/mapObjects/CGHeroInstance.h
mapObjects/CGMarket.h ${MAIN_LIB_DIR}/mapObjects/CGMarket.h
mapObjects/CGPandoraBox.h ${MAIN_LIB_DIR}/mapObjects/CGPandoraBox.h
mapObjects/CGTownInstance.h ${MAIN_LIB_DIR}/mapObjects/CGTownInstance.h
mapObjects/CObjectClassesHandler.h ${MAIN_LIB_DIR}/mapObjects/CObjectClassesHandler.h
mapObjects/CObjectHandler.h ${MAIN_LIB_DIR}/mapObjects/CObjectHandler.h
mapObjects/CommonConstructors.h ${MAIN_LIB_DIR}/mapObjects/CommonConstructors.h
mapObjects/CQuest.h ${MAIN_LIB_DIR}/mapObjects/CQuest.h
mapObjects/CRewardableConstructor.h ${MAIN_LIB_DIR}/mapObjects/CRewardableConstructor.h
mapObjects/CRewardableObject.h ${MAIN_LIB_DIR}/mapObjects/CRewardableObject.h
mapObjects/JsonRandom.h ${MAIN_LIB_DIR}/mapObjects/JsonRandom.h
mapObjects/MapObjects.h ${MAIN_LIB_DIR}/mapObjects/MapObjects.h
mapObjects/MiscObjects.h ${MAIN_LIB_DIR}/mapObjects/MiscObjects.h
mapObjects/ObjectTemplate.h ${MAIN_LIB_DIR}/mapObjects/ObjectTemplate.h
mapping/CCampaignHandler.h ${MAIN_LIB_DIR}/mapping/CCampaignHandler.h
mapping/CDrawRoadsOperation.h ${MAIN_LIB_DIR}/mapping/CDrawRoadsOperation.h
mapping/CMapDefines.h ${MAIN_LIB_DIR}/mapping/CMapDefines.h
mapping/CMapEditManager.h ${MAIN_LIB_DIR}/mapping/CMapEditManager.h
mapping/CMap.h ${MAIN_LIB_DIR}/mapping/CMap.h
mapping/CMapInfo.h ${MAIN_LIB_DIR}/mapping/CMapInfo.h
mapping/CMapOperation.h ${MAIN_LIB_DIR}/mapping/CMapOperation.h
mapping/CMapService.h ${MAIN_LIB_DIR}/mapping/CMapService.h
mapping/MapEditUtils.h ${MAIN_LIB_DIR}/mapping/MapEditUtils.h
mapping/MapFormatH3M.h ${MAIN_LIB_DIR}/mapping/MapFormatH3M.h
mapping/MapFormatJson.h ${MAIN_LIB_DIR}/mapping/MapFormatJson.h
registerTypes/RegisterTypes.h ${MAIN_LIB_DIR}/registerTypes/RegisterTypes.h
rmg/RmgArea.h ${MAIN_LIB_DIR}/rmg/RmgArea.h
rmg/RmgObject.h ${MAIN_LIB_DIR}/rmg/RmgObject.h
rmg/RmgPath.h ${MAIN_LIB_DIR}/rmg/RmgPath.h
rmg/CMapGenerator.h ${MAIN_LIB_DIR}/rmg/CMapGenerator.h
rmg/CMapGenOptions.h ${MAIN_LIB_DIR}/rmg/CMapGenOptions.h
rmg/CRmgTemplate.h ${MAIN_LIB_DIR}/rmg/CRmgTemplate.h
rmg/CRmgTemplateStorage.h ${MAIN_LIB_DIR}/rmg/CRmgTemplateStorage.h
rmg/CZonePlacer.h ${MAIN_LIB_DIR}/rmg/CZonePlacer.h
rmg/TileInfo.h ${MAIN_LIB_DIR}/rmg/TileInfo.h
rmg/Zone.h ${MAIN_LIB_DIR}/rmg/Zone.h
rmg/Functions.h ${MAIN_LIB_DIR}/rmg/Functions.h
rmg/ObjectManager.h ${MAIN_LIB_DIR}/rmg/ObjectManager.h
rmg/RoadPlacer.h ${MAIN_LIB_DIR}/rmg/RoadPlacer.h
rmg/TreasurePlacer.h ${MAIN_LIB_DIR}/rmg/TreasurePlacer.h
rmg/RmgMap.h ${MAIN_LIB_DIR}/rmg/RmgMap.h
rmg/ConnectionsPlacer.h ${MAIN_LIB_DIR}/rmg/ConnectionsPlacer.h
rmg/WaterAdopter.h ${MAIN_LIB_DIR}/rmg/WaterAdopter.h
rmg/TownPlacer.h ${MAIN_LIB_DIR}/rmg/TownPlacer.h
rmg/WaterProxy.h ${MAIN_LIB_DIR}/rmg/WaterProxy.h
rmg/WaterRoutes.h ${MAIN_LIB_DIR}/rmg/WaterRoutes.h
rmg/RockPlacer.h ${MAIN_LIB_DIR}/rmg/RockPlacer.h
rmg/ObstaclePlacer.h ${MAIN_LIB_DIR}/rmg/ObstaclePlacer.h
rmg/RiverPlacer.h ${MAIN_LIB_DIR}/rmg/RiverPlacer.h
rmg/TerrainPainter.h ${MAIN_LIB_DIR}/rmg/TerrainPainter.h
rmg/float3.h ${MAIN_LIB_DIR}/rmg/float3.h
serializer/BinaryDeserializer.h ${MAIN_LIB_DIR}/serializer/BinaryDeserializer.h
serializer/BinarySerializer.h ${MAIN_LIB_DIR}/serializer/BinarySerializer.h
serializer/CLoadIntegrityValidator.h ${MAIN_LIB_DIR}/serializer/CLoadIntegrityValidator.h
serializer/CMemorySerializer.h ${MAIN_LIB_DIR}/serializer/CMemorySerializer.h
serializer/Connection.h ${MAIN_LIB_DIR}/serializer/Connection.h
serializer/CSerializer.h ${MAIN_LIB_DIR}/serializer/CSerializer.h
serializer/CTypeList.h ${MAIN_LIB_DIR}/serializer/CTypeList.h
serializer/JsonDeserializer.h ${MAIN_LIB_DIR}/serializer/JsonDeserializer.h
serializer/JsonSerializeFormat.h ${MAIN_LIB_DIR}/serializer/JsonSerializeFormat.h
serializer/JsonSerializer.h ${MAIN_LIB_DIR}/serializer/JsonSerializer.h
serializer/JsonUpdater.h ${MAIN_LIB_DIR}/serializer/JsonUpdater.h
serializer/Cast.h ${MAIN_LIB_DIR}/serializer/Cast.h
spells/AbilityCaster.h ${MAIN_LIB_DIR}/spells/AbilityCaster.h
spells/AdventureSpellMechanics.h ${MAIN_LIB_DIR}/spells/AdventureSpellMechanics.h
spells/BattleSpellMechanics.h ${MAIN_LIB_DIR}/spells/BattleSpellMechanics.h
spells/BonusCaster.h ${MAIN_LIB_DIR}/spells/BonusCaster.h
spells/CSpellHandler.h ${MAIN_LIB_DIR}/spells/CSpellHandler.h
spells/ISpellMechanics.h ${MAIN_LIB_DIR}/spells/ISpellMechanics.h
spells/Problem.h ${MAIN_LIB_DIR}/spells/Problem.h
spells/ProxyCaster.h ${MAIN_LIB_DIR}/spells/ProxyCaster.h
spells/TargetCondition.h ${MAIN_LIB_DIR}/spells/TargetCondition.h
spells/ViewSpellInt.h ${MAIN_LIB_DIR}/spells/ViewSpellInt.h
spells/effects/Catapult.h ${MAIN_LIB_DIR}/spells/effects/Catapult.h
spells/effects/Clone.h ${MAIN_LIB_DIR}/spells/effects/Clone.h
spells/effects/Damage.h ${MAIN_LIB_DIR}/spells/effects/Damage.h
spells/effects/Dispel.h ${MAIN_LIB_DIR}/spells/effects/Dispel.h
spells/effects/Effect.h ${MAIN_LIB_DIR}/spells/effects/Effect.h
spells/effects/Effects.h ${MAIN_LIB_DIR}/spells/effects/Effects.h
spells/effects/EffectsFwd.h ${MAIN_LIB_DIR}/spells/effects/EffectsFwd.h
spells/effects/Heal.h ${MAIN_LIB_DIR}/spells/effects/Heal.h
spells/effects/LocationEffect.h ${MAIN_LIB_DIR}/spells/effects/LocationEffect.h
spells/effects/Obstacle.h ${MAIN_LIB_DIR}/spells/effects/Obstacle.h
spells/effects/Registry.h ${MAIN_LIB_DIR}/spells/effects/Registry.h
spells/effects/UnitEffect.h ${MAIN_LIB_DIR}/spells/effects/UnitEffect.h
spells/effects/Summon.h ${MAIN_LIB_DIR}/spells/effects/Summon.h
spells/effects/Teleport.h ${MAIN_LIB_DIR}/spells/effects/Teleport.h
spells/effects/Timed.h ${MAIN_LIB_DIR}/spells/effects/Timed.h
spells/effects/RemoveObstacle.h ${MAIN_LIB_DIR}/spells/effects/RemoveObstacle.h
spells/effects/Sacrifice.h ${MAIN_LIB_DIR}/spells/effects/Sacrifice.h
AI_Base.h ${MAIN_LIB_DIR}/AI_Base.h
BattleFieldHandler.h ${MAIN_LIB_DIR}/BattleFieldHandler.h
CAndroidVMHelper.h ${MAIN_LIB_DIR}/CAndroidVMHelper.h
CArtHandler.h ${MAIN_LIB_DIR}/CArtHandler.h
CBonusTypeHandler.h ${MAIN_LIB_DIR}/CBonusTypeHandler.h
CBuildingHandler.h ${MAIN_LIB_DIR}/CBuildingHandler.h
CConfigHandler.h ${MAIN_LIB_DIR}/CConfigHandler.h
CConsoleHandler.h ${MAIN_LIB_DIR}/CConsoleHandler.h
CCreatureHandler.h ${MAIN_LIB_DIR}/CCreatureHandler.h
CCreatureSet.h ${MAIN_LIB_DIR}/CCreatureSet.h
CGameInfoCallback.h ${MAIN_LIB_DIR}/CGameInfoCallback.h
CGameInterface.h ${MAIN_LIB_DIR}/CGameInterface.h
CGameStateFwd.h ${MAIN_LIB_DIR}/CGameStateFwd.h
CGameState.h ${MAIN_LIB_DIR}/CGameState.h
CGeneralTextHandler.h ${MAIN_LIB_DIR}/CGeneralTextHandler.h
CHeroHandler.h ${MAIN_LIB_DIR}/CHeroHandler.h
CModHandler.h ${MAIN_LIB_DIR}/CModHandler.h
CondSh.h ${MAIN_LIB_DIR}/CondSh.h
ConstTransitivePtr.h ${MAIN_LIB_DIR}/ConstTransitivePtr.h
CPathfinder.h ${MAIN_LIB_DIR}/CPathfinder.h
CPlayerState.h ${MAIN_LIB_DIR}/CPlayerState.h
CRandomGenerator.h ${MAIN_LIB_DIR}/CRandomGenerator.h
CScriptingModule.h ${MAIN_LIB_DIR}/CScriptingModule.h
CSkillHandler.h ${MAIN_LIB_DIR}/CSkillHandler.h
CSoundBase.h ${MAIN_LIB_DIR}/CSoundBase.h
CStack.h ${MAIN_LIB_DIR}/CStack.h
CStopWatch.h ${MAIN_LIB_DIR}/CStopWatch.h
CThreadHelper.h ${MAIN_LIB_DIR}/CThreadHelper.h
CTownHandler.h ${MAIN_LIB_DIR}/CTownHandler.h
FunctionList.h ${MAIN_LIB_DIR}/FunctionList.h
GameConstants.h ${MAIN_LIB_DIR}/GameConstants.h
HeroBonus.h ${MAIN_LIB_DIR}/HeroBonus.h
IBonusTypeHandler.h ${MAIN_LIB_DIR}/IBonusTypeHandler.h
IGameCallback.h ${MAIN_LIB_DIR}/IGameCallback.h
IGameEventsReceiver.h ${MAIN_LIB_DIR}/IGameEventsReceiver.h
IHandlerBase.h ${MAIN_LIB_DIR}/IHandlerBase.h
int3.h ${MAIN_LIB_DIR}/int3.h
Interprocess.h ${MAIN_LIB_DIR}/Interprocess.h
JsonDetail.h ${MAIN_LIB_DIR}/JsonDetail.h
JsonNode.h ${MAIN_LIB_DIR}/JsonNode.h
LoadProgress.h ${MAIN_LIB_DIR}/LoadProgress.h
LogicalExpression.h ${MAIN_LIB_DIR}/LogicalExpression.h
NetPacksBase.h ${MAIN_LIB_DIR}/NetPacksBase.h
NetPacks.h ${MAIN_LIB_DIR}/NetPacks.h
NetPacksLobby.h ${MAIN_LIB_DIR}/NetPacksLobby.h
ObstacleHandler.h ${MAIN_LIB_DIR}/ObstacleHandler.h
PathfinderUtil.h ${MAIN_LIB_DIR}/PathfinderUtil.h
ResourceSet.h ${MAIN_LIB_DIR}/ResourceSet.h
ScriptHandler.h ${MAIN_LIB_DIR}/ScriptHandler.h
ScopeGuard.h ${MAIN_LIB_DIR}/ScopeGuard.h
StartInfo.h ${MAIN_LIB_DIR}/StartInfo.h
StringConstants.h ${MAIN_LIB_DIR}/StringConstants.h
Terrain.h ${MAIN_LIB_DIR}/Terrain.h
UnlockGuard.h ${MAIN_LIB_DIR}/UnlockGuard.h
VCMIDirs.h ${MAIN_LIB_DIR}/VCMIDirs.h
vcmi_endian.h ${MAIN_LIB_DIR}/vcmi_endian.h
VCMI_Lib.h ${MAIN_LIB_DIR}/VCMI_Lib.h
) )
if(APPLE_IOS) if(APPLE_IOS)
set(lib_SRCS ${lib_SRCS} CIOSUtils.m) set(lib_SRCS ${lib_SRCS} ${MAIN_LIB_DIR}/CIOSUtils.m)
set(lib_HEADERS ${lib_HEADERS} CIOSUtils.h) set(lib_HEADERS ${lib_HEADERS} ${MAIN_LIB_DIR}/CIOSUtils.h)
endif(APPLE_IOS) endif(APPLE_IOS)
assign_source_group(${lib_SRCS} ${lib_HEADERS}) assign_source_group(${lib_SRCS} ${lib_HEADERS})
add_library(vcmi SHARED ${lib_SRCS} ${lib_HEADERS}) add_library(${TARGET_NAME} ${LIBRARY_TYPE} ${lib_SRCS} ${lib_HEADERS})
set_target_properties(vcmi PROPERTIES COMPILE_DEFINITIONS "VCMI_DLL=1") set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_DEFINITIONS "VCMI_DLL=1")
target_link_libraries(vcmi PUBLIC target_link_libraries(${TARGET_NAME} PUBLIC
minizip::minizip ZLIB::ZLIB minizip::minizip ZLIB::ZLIB
${SYSTEM_LIBS} Boost::boost Boost::thread Boost::filesystem Boost::program_options Boost::locale Boost::date_time ${SYSTEM_LIBS} Boost::boost Boost::thread Boost::filesystem Boost::program_options Boost::locale Boost::date_time
)
target_include_directories(vcmi
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_HOME_DIRECTORY}
PUBLIC ${CMAKE_HOME_DIRECTORY}/include
PRIVATE ${SDL2_INCLUDE_DIR}
)
if(WIN32)
set_target_properties(vcmi
PROPERTIES
OUTPUT_NAME "VCMI_lib"
PROJECT_LABEL "VCMI_lib"
) )
endif()
if(ANDROID) target_include_directories(${TARGET_NAME}
return() PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
endif() PUBLIC ${CMAKE_SOURCE_DIR}
PUBLIC ${CMAKE_SOURCE_DIR}/include
vcmi_set_output_dir(vcmi "") PUBLIC ${MAIN_LIB_DIR}
PRIVATE ${SDL2_INCLUDE_DIR}
enable_pch(vcmi)
# We want to deploy assets into build directory for easier debugging without install
if(NOT APPLE_IOS)
add_custom_command(TARGET vcmi POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/config
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/Mods
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/config ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/config
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Mods ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/Mods
) )
endif()
# Update version before vcmi compiling if(WIN32)
if(TARGET update_version) set_target_properties(${TARGET_NAME}
add_dependencies(vcmi update_version) PROPERTIES
endif() OUTPUT_NAME "VCMI_lib"
PROJECT_LABEL "VCMI_lib"
)
endif()
install(TARGETS vcmi RUNTIME DESTINATION ${LIB_DIR} LIBRARY DESTINATION ${LIB_DIR} COMPONENT core) if(ANDROID)
if(APPLE_IOS) return()
get_target_property(LINKED_LIBS vcmi LINK_LIBRARIES) endif()
foreach(LINKED_LIB IN LISTS LINKED_LIBS)
if(TARGET ${LINKED_LIB}) vcmi_set_output_dir(${TARGET_NAME} "")
get_target_property(LIB_TYPE ${LINKED_LIB} TYPE)
if(LIB_TYPE STREQUAL "SHARED_LIBRARY") enable_pch(${TARGET_NAME})
get_target_property(_aliased ${LINKED_LIB} ALIASED_TARGET)
if(_aliased) # We want to deploy assets into build directory for easier debugging without install
set(LINKED_LIB_REAL ${_aliased}) if(NOT APPLE_IOS)
else() add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
set(LINKED_LIB_REAL ${LINKED_LIB}) COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/config
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/Mods
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/config ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/config
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Mods ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/Mods
)
endif()
# Update version before vcmi compiling
if(TARGET update_version)
add_dependencies(${TARGET_NAME} update_version)
endif()
install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION ${LIB_DIR} LIBRARY DESTINATION ${LIB_DIR} COMPONENT core)
if(APPLE_IOS)
get_target_property(LINKED_LIBS ${TARGET_NAME} LINK_LIBRARIES)
foreach(LINKED_LIB IN LISTS LINKED_LIBS)
if(NOT TARGET ${LINKED_LIB})
if(LINKED_LIB MATCHES "\\${CMAKE_SHARED_LIBRARY_SUFFIX}$")
install(FILES ${LINKED_LIB} DESTINATION ${LIB_DIR} COMPONENT core)
endif() endif()
install(TARGETS ${LINKED_LIB_REAL} LIBRARY DESTINATION ${LIB_DIR} COMPONENT core) continue()
endif() endif()
else()
if(LINKED_LIB MATCHES "\\${CMAKE_SHARED_LIBRARY_SUFFIX}$") get_target_property(LIB_TYPE ${LINKED_LIB} TYPE)
install(FILES ${LINKED_LIB} DESTINATION ${LIB_DIR} COMPONENT core) if(NOT LIB_TYPE STREQUAL "SHARED_LIBRARY")
continue()
endif() endif()
endif()
endforeach() get_target_property(_aliased ${LINKED_LIB} ALIASED_TARGET)
endif() if(_aliased)
set(LINKED_LIB_REAL ${_aliased})
else()
set(LINKED_LIB_REAL ${LINKED_LIB})
endif()
install(TARGETS ${LINKED_LIB_REAL} LIBRARY DESTINATION ${LIB_DIR} COMPONENT core)
endforeach()
endif()
endmacro()

1
lib/CMakeLists.txt Normal file
View File

@ -0,0 +1 @@
add_main_lib(vcmi SHARED)