# Resolves pre-built SDL3 libraries based on PLATFORM and SDL_LINK_TYPE. # SDL must be pre-built once per platform via scripts/build_sdl_windows.ps1 # or scripts/build_sdl_linux.sh before configuring this project. set(SDL_PREBUILT_DIR "${CMAKE_SOURCE_DIR}/prebuilt/${PLATFORM}") if(SDL_LINK_TYPE STREQUAL "static") set(SDL_SEARCH_DIR "${SDL_PREBUILT_DIR}/SDL3-static") else() set(SDL_SEARCH_DIR "${SDL_PREBUILT_DIR}/SDL3-dynamic") endif() message(STATUS "Looking for SDL3 in: ${SDL_SEARCH_DIR}") find_package(SDL3 REQUIRED CONFIG PATHS "${SDL_SEARCH_DIR}" NO_DEFAULT_PATH ) if(SDL_LINK_TYPE STREQUAL "static") set(SDL_TARGET SDL3::SDL3-static) else() set(SDL_TARGET SDL3::SDL3) endif() message(STATUS "SDL_TARGET resolved to: ${SDL_TARGET}") # On Windows with dynamic linking, copy the DLL next to the executable if(SDL_LINK_TYPE STREQUAL "dynamic" AND WIN32) add_custom_target(copy_sdl_dll ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different $ "${CMAKE_BINARY_DIR}/game" COMMENT "Copying SDL3.dll to output directory" ) endif()