cmake_minimum_required(VERSION 3.10) set(CMAKE_CXX_STANDARD 17) set(PROJECT_NAME demo) project(${PROJECT_NAME} VERSION 0.0.1 LANGUAGES C CXX) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin-int) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin-int) if(MSVC) set(CMAKE_PREFIX_PATH lib/SDL/MSVC/SDL/cmake) file(GLOB SDL_DLLS lib/SDL/MSVC/SDL/lib/x64/*.dll) else () set(CMAKE_PREFIX_PATH lib/SDL/MinGW/SDL/cmake) file(GLOB SDL_DLLS lib/SDL/MinGW/SDL/x86_64-w64-mingw32/bin/*.dll) endif () file(COPY ${SDL_DLLS} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) file(GLOB ASSETS_SOURCE assets) file(COPY ${ASSETS_SOURCE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) find_package(SDL3 REQUIRED) find_package(SDL3_mixer REQUIRED) find_package(SDL3_image REQUIRED) find_package(SDL3_ttf REQUIRED) add_subdirectory(lib/glm) file(GLOB_RECURSE SRC_SOURCE src/**.cpp ) add_executable(${PROJECT_NAME} ${SRC_SOURCE}) target_include_directories(${PROJECT_NAME} PUBLIC lib/glm ) target_link_libraries(${PROJECT_NAME} ${SDL3_LIBRARIES} SDL3_mixer::SDL3_mixer SDL3_image::SDL3_image-shared SDL3_ttf::SDL3_ttf-shared glm )