set(VCAI_SRCS Pathfinding/AIPathfinderConfig.cpp Pathfinding/AIPathfinder.cpp Pathfinding/AINodeStorage.cpp Pathfinding/PathfindingManager.cpp Pathfinding/Actions/BattleAction.cpp Pathfinding/Actions/BoatActions.cpp Pathfinding/Actions/TownPortalAction.cpp Pathfinding/Rules/AILayerTransitionRule.cpp Pathfinding/Rules/AIMovementAfterDestinationRule.cpp Pathfinding/Rules/AIMovementToDestinationRule.cpp Pathfinding/Rules/AIPreviousNodeRule.cpp AIUtility.cpp AIhelper.cpp ArmyManager.cpp ResourceManager.cpp BuildingManager.cpp MapObjectsEvaluator.cpp FuzzyEngines.cpp FuzzyHelper.cpp Goals/AbstractGoal.cpp Goals/BuildBoat.cpp Goals/Build.cpp Goals/BuildThis.cpp Goals/Explore.cpp Goals/GatherArmy.cpp Goals/GatherTroops.cpp Goals/BuyArmy.cpp Goals/AdventureSpellCast.cpp Goals/Win.cpp Goals/VisitTile.cpp Goals/VisitObj.cpp Goals/VisitHero.cpp Goals/CollectRes.cpp Goals/Trade.cpp Goals/RecruitHero.cpp Goals/Conquer.cpp Goals/ClearWayTo.cpp Goals/DigAtTile.cpp Goals/GetArtOfType.cpp Goals/FindObj.cpp Goals/CompleteQuest.cpp VCAI.cpp ) set(VCAI_HEADERS StdInc.h Pathfinding/AIPathfinderConfig.h Pathfinding/AIPathfinder.h Pathfinding/AINodeStorage.h Pathfinding/PathfindingManager.h Pathfinding/Actions/ISpecialAction.h Pathfinding/Actions/BattleAction.h Pathfinding/Actions/BoatActions.h Pathfinding/Actions/TownPortalAction.h Pathfinding/Rules/AILayerTransitionRule.h Pathfinding/Rules/AIMovementAfterDestinationRule.h Pathfinding/Rules/AIMovementToDestinationRule.h Pathfinding/Rules/AIPreviousNodeRule.h AIUtility.h AIhelper.h ArmyManager.h ResourceManager.h BuildingManager.h MapObjectsEvaluator.h FuzzyEngines.h FuzzyHelper.h Goals/AbstractGoal.h Goals/CGoal.h Goals/Invalid.h Goals/BuildBoat.h Goals/Build.h Goals/BuildThis.h Goals/Explore.h Goals/GatherArmy.h Goals/GatherTroops.h Goals/BuyArmy.h Goals/AdventureSpellCast.h Goals/Win.h Goals/VisitTile.h Goals/VisitObj.h Goals/VisitHero.h Goals/CollectRes.h Goals/Trade.h Goals/RecruitHero.h Goals/Conquer.h Goals/ClearWayTo.h Goals/DigAtTile.h Goals/GetArtOfType.h Goals/FindObj.h Goals/CompleteQuest.h Goals/Goals.h VCAI.h ) if(NOT ENABLE_STATIC_AI_LIBS) list(APPEND VCAI_SRCS main.cpp StdInc.cpp) endif() assign_source_group(${VCAI_SRCS} ${VCAI_HEADERS}) if(ENABLE_STATIC_AI_LIBS) add_library(VCAI STATIC ${VCAI_SRCS} ${VCAI_HEADERS}) else() add_library(VCAI SHARED ${VCAI_SRCS} ${VCAI_HEADERS}) install(TARGETS VCAI RUNTIME DESTINATION ${AI_LIB_DIR} LIBRARY DESTINATION ${AI_LIB_DIR}) endif() target_include_directories(VCAI PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(VCAI PUBLIC ${VCMI_LIB_TARGET} fuzzylite::fuzzylite) vcmi_set_output_dir(VCAI "AI") enable_pch(VCAI)