diff options
Diffstat (limited to 'CMakeModules/DownloadExternals.cmake')
| -rw-r--r-- | CMakeModules/DownloadExternals.cmake | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/CMakeModules/DownloadExternals.cmake b/CMakeModules/DownloadExternals.cmake new file mode 100644 index 000000000..138a15d5a --- /dev/null +++ b/CMakeModules/DownloadExternals.cmake | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | |||
| 2 | # This function downloads a binary library package from our external repo. | ||
| 3 | # Params: | ||
| 4 | # remote_path: path to the file to download, relative to the remote repository root | ||
| 5 | # prefix_var: name of a variable which will be set with the path to the extracted contents | ||
| 6 | function(download_bundled_external remote_path lib_name prefix_var) | ||
| 7 | set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}") | ||
| 8 | if (NOT EXISTS "${prefix}") | ||
| 9 | message(STATUS "Downloading binaries for ${lib_name}...") | ||
| 10 | file(DOWNLOAD | ||
| 11 | https://github.com/citra-emu/ext-windows-bin/raw/master/${remote_path}${lib_name}.7z | ||
| 12 | "${CMAKE_BINARY_DIR}/externals/${lib_name}.7z" SHOW_PROGRESS) | ||
| 13 | execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}.7z" | ||
| 14 | WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals") | ||
| 15 | endif() | ||
| 16 | message(STATUS "Using bundled binaries at ${prefix}") | ||
| 17 | set(${prefix_var} "${prefix}" PARENT_SCOPE) | ||
| 18 | endfunction() \ No newline at end of file | ||