cmake_minimum_required(VERSION 3.28) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 20) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CMAKE_BUILD_TYPE Debug) find_package(SDL3 REQUIRED) find_package(cpr REQUIRED) find_package(pugixml REQUIRED) project(main C CXX) add_executable(main main.cpp util.cpp FileReader.cpp HTTPFileReader.cpp LocalFileReader.cpp Exception.cpp FileReaderFactory.cpp Canvas.cpp Parser.cpp ParserFactory.cpp CSVParser.cpp XMLParser.cpp TXTParser.cpp MuseumDeserializer.cpp Tile.cpp TileColorFactory.cpp TileBehavior.cpp TileBehaviorFactory.cpp NullTileBehavior.cpp CreateArtistTileBehavior.cpp SetNeighborTileBehavior.cpp DeleteArtistTileBehavior.cpp StepTileBehavior.cpp ViewController.cpp View.cpp Museum.cpp People.cpp Artist.cpp OpenFileGUICommand.cpp LoadFilesCommand.cpp ToggleMuseumPauseCommand.cpp StepTileCommand.cpp TimeTravelCommand.cpp CollisionContext.cpp QuadTreeCollisionChecker.cpp ControlBooleanCommand.cpp CollisionChecker.cpp NaiveCollisionChecker.cpp CycleCollisionMethodCommand.cpp PathfindingContext.cpp XY.cpp Pathfinder.cpp DijkstraPathfinder.cpp BreadthFirstPathfinder.cpp CyclePathfindingMethodCommand.cpp ) target_link_libraries(main SDL3 cpr pugixml )