blob: ff73e8c14662131f6615d8c1b928528afd9f2721 [file] [edit]
function(fetch_sdl2_library directory url filename hash)
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${filename})
message(STATUS "Downloading ${filename}")
file(DOWNLOAD ${url}${filename} ${CMAKE_CURRENT_LIST_DIR}/${filename}
SHOW_PROGRESS
TIMEOUT 120
EXPECTED_HASH SHA1=${hash}
TLS_VERIFY ON)
message(STATUS "Extracting ${filename}")
endif()
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${directory})
# tar -xf should work on Windows 10 build 17063 or later (Dec 2017)
execute_process(COMMAND tar -xf ${filename}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
endif()
# in future we might be able to use:
# file(ARCHIVE_EXTRACT INPUT ${filename})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/${directory}/include
DESTINATION ${CMAKE_CURRENT_LIST_DIR}/)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/${directory}/lib
DESTINATION ${CMAKE_CURRENT_LIST_DIR}/)
endfunction(fetch_sdl2_library)
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/include)
fetch_sdl2_library(
SDL2-2.0.12
https://www.libsdl.org/release/
SDL2-devel-2.0.12-VC.zip
6839b6ec345ef754a6585ab24f04e125e88c3392
)
fetch_sdl2_library(
SDL2_image-2.0.5
https://www.libsdl.org/projects/SDL_image/release/
SDL2_image-devel-2.0.5-VC.zip
137f86474691f4e12e76e07d58d5920c8d844d5b
)
fetch_sdl2_library(
SDL2_net-2.0.1
https://www.libsdl.org/projects/SDL_net/release/
SDL2_net-devel-2.0.1-VC.zip
90adcf4d0d17aed26c1e56ade159d90db4b98b54
)
endif()
set(SDL2_INCLUDE_DIRS "${SDL2_DIR}/include")
if(CMAKE_GENERATOR_PLATFORM)
set(SDL2_LIBDIR "${SDL2_DIR}/lib/${CMAKE_GENERATOR_PLATFORM}")
else()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(SDL2_LIBDIR "${SDL2_DIR}/lib/x64/")
else()
set(SDL2_LIBDIR "${SDL2_DIR}/lib/x86/")
endif()
endif()
set(SDL2_LIBRARIES "${SDL2_LIBDIR}/SDL2.lib" "${SDL2_LIBDIR}/SDL2main.lib")
set(SDL2_DLL "${SDL2_LIBDIR}/SDL2.dll")