summaryrefslogtreecommitdiff
path: root/CMakeModules/DownloadExternals.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeModules/DownloadExternals.cmake')
-rw-r--r--CMakeModules/DownloadExternals.cmake18
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
6function(download_bundled_external remote_path lib_name prefix_var)
7set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
8if (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")
15endif()
16message(STATUS "Using bundled binaries at ${prefix}")
17set(${prefix_var} "${prefix}" PARENT_SCOPE)
18endfunction() \ No newline at end of file