1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
vcmi/AI/Nullkiller/CMakeLists.txt
2022-10-16 13:25:38 +03:00

144 lines
4.0 KiB
CMake

set(Nullkiller_SRCS
StdInc.cpp
Pathfinding/AIPathfinderConfig.cpp
Pathfinding/AIPathfinder.cpp
Pathfinding/AINodeStorage.cpp
Pathfinding/Actors.cpp
Pathfinding/Actions/SpecialAction.cpp
Pathfinding/Actions/BattleAction.cpp
Pathfinding/Actions/QuestAction.cpp
Pathfinding/Actions/BuyArmyAction.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
Analyzers/ArmyManager.cpp
Analyzers/HeroManager.cpp
Engine/FuzzyEngines.cpp
Engine/FuzzyHelper.cpp
Engine/AIMemory.cpp
Goals/AbstractGoal.cpp
Goals/Composition.cpp
Goals/SaveResources.cpp
Goals/BuildBoat.cpp
Goals/BuildThis.cpp
Goals/DismissHero.cpp
Goals/BuyArmy.cpp
Goals/AdventureSpellCast.cpp
Goals/Trade.cpp
Goals/CaptureObject.cpp
Goals/RecruitHero.cpp
Goals/DigAtTile.cpp
Goals/ExecuteHeroChain.cpp
Goals/ExchangeSwapTownHeroes.cpp
Goals/CompleteQuest.cpp
Markers/ArmyUpgrade.cpp
Markers/HeroExchange.cpp
Markers/UnlockCluster.cpp
Markers/DefendTown.cpp
Engine/Nullkiller.cpp
Engine/DeepDecomposer.cpp
Engine/PriorityEvaluator.cpp
Analyzers/DangerHitMapAnalyzer.cpp
Analyzers/BuildAnalyzer.cpp
Analyzers/ObjectClusterizer.cpp
Behaviors/CaptureObjectsBehavior.cpp
Behaviors/RecruitHeroBehavior.cpp
Behaviors/BuyArmyBehavior.cpp
Behaviors/DefenceBehavior.cpp
Behaviors/StartupBehavior.cpp
Behaviors/BuildingBehavior.cpp
Behaviors/GatherArmyBehavior.cpp
Behaviors/ClusterBehavior.cpp
main.cpp
AIGateway.cpp
)
set(Nullkiller_HEADERS
StdInc.h
Pathfinding/AIPathfinderConfig.h
Pathfinding/AIPathfinder.h
Pathfinding/AINodeStorage.h
Pathfinding/Actors.h
Pathfinding/Actions/SpecialAction.h
Pathfinding/Actions/BattleAction.h
Pathfinding/Actions/QuestAction.h
Pathfinding/Actions/BuyArmyAction.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
Analyzers/ArmyManager.h
Analyzers/HeroManager.h
Engine/FuzzyEngines.h
Engine/FuzzyHelper.h
Engine/AIMemory.h
Goals/AbstractGoal.h
Goals/CGoal.h
Goals/Composition.h
Goals/Invalid.h
Goals/BuildBoat.h
Goals/SaveResources.h
Goals/BuildThis.h
Goals/DismissHero.h
Goals/BuyArmy.h
Goals/AdventureSpellCast.h
Goals/Trade.h
Goals/CaptureObject.h
Goals/RecruitHero.h
Goals/DigAtTile.h
Goals/ExecuteHeroChain.h
Goals/ExchangeSwapTownHeroes.h
Goals/CompleteQuest.h
Goals/Goals.h
Markers/ArmyUpgrade.h
Markers/HeroExchange.h
Markers/UnlockCluster.h
Markers/DefendTown.h
Engine/Nullkiller.h
Engine/DeepDecomposer.h
Engine/PriorityEvaluator.h
Analyzers/DangerHitMapAnalyzer.h
Analyzers/BuildAnalyzer.h
Analyzers/ObjectClusterizer.h
Behaviors/CaptureObjectsBehavior.h
Behaviors/RecruitHeroBehavior.h
Behaviors/BuyArmyBehavior.h
Behaviors/DefenceBehavior.h
Behaviors/StartupBehavior.h
Behaviors/BuildingBehavior.h
Behaviors/GatherArmyBehavior.h
Behaviors/ClusterBehavior.h
AIGateway.h
)
assign_source_group(${Nullkiller_SRCS} ${Nullkiller_HEADERS})
if(ANDROID) # android compiles ai libs into main lib directly, so we skip this library and just reuse sources list
return()
endif()
add_library(Nullkiller SHARED ${Nullkiller_SRCS} ${Nullkiller_HEADERS})
target_include_directories(Nullkiller PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(Nullkiller PRIVATE ${VCMI_LIB_TARGET} fuzzylite::fuzzylite)
target_link_libraries(Nullkiller PRIVATE TBB::tbb)
vcmi_set_output_dir(Nullkiller "AI")
enable_pch(Nullkiller)
install(TARGETS Nullkiller RUNTIME DESTINATION ${AI_LIB_DIR} LIBRARY DESTINATION ${AI_LIB_DIR})
if(APPLE_IOS AND NOT USING_CONAN)
install(IMPORTED_RUNTIME_ARTIFACTS TBB::tbb LIBRARY DESTINATION ${LIB_DIR}) # CMake 3.21+
endif()