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) # add_subdirectory(lib/SDL) # add_subdirectory(lib/cpr) # add_subdirectory(lib/pugixml) project(main C CXX) add_executable(main main.cpp util.cpp FileReader.cpp HTTPFileReader.cpp LocalFileReader.cpp Exception.cpp FileReaderFactory.cpp Canvas.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 ) target_link_libraries(main SDL3 cpr pugixml )