cmake_minimum_required(VERSION 3.31) project(Slate) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$") set(tinyxml2_SHARED_LIBS OFF) set(SDL_STATIC ON) add_subdirectory(lib/SDL EXCLUDE_FROM_ALL) add_subdirectory(lib/entt EXCLUDE_FROM_ALL) add_subdirectory(lib/physfs EXCLUDE_FROM_ALL) add_subdirectory(lib/pocketpy EXCLUDE_FROM_ALL) add_subdirectory(lib/tinyxml2 EXCLUDE_FROM_ALL) add_executable(${PROJECT_NAME} WIN32 src/Slate.cpp src/components/Position.cpp src/components/Sprite.cpp src/systems/RenderingSystem.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE SDL3-static physfs-static pocketpy tinyxml2 EnTT::EnTT) target_link_options(${PROJECT_NAME} PRIVATE "-static-libgcc" "-static-libstdc++")