summaryrefslogtreecommitdiffstats
path: root/CMakeModules
diff options
context:
space:
mode:
authorJames Rowe <jroweboy@gmail.com>2017-09-09 19:24:13 +0200
committerJames Rowe <jroweboy@gmail.com>2017-09-11 17:10:17 +0200
commit9e847b754933f09bdf19be0dc45fc32a65052965 (patch)
treefb904cde766d925d20fe78c41fb6a24eb742195c /CMakeModules
parentMerge pull request #2865 from wwylele/gs++ (diff)
downloadyuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar.gz
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar.bz2
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar.lz
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar.xz
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.tar.zst
yuzu-9e847b754933f09bdf19be0dc45fc32a65052965.zip
Diffstat (limited to 'CMakeModules')
-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 @@
+
+# This function downloads a binary library package from our external repo.
+# Params:
+# remote_path: path to the file to download, relative to the remote repository root
+# prefix_var: name of a variable which will be set with the path to the extracted contents
+function(download_bundled_external remote_path lib_name prefix_var)
+set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
+if (NOT EXISTS "${prefix}")
+ message(STATUS "Downloading binaries for ${lib_name}...")
+ file(DOWNLOAD
+ https://github.com/citra-emu/ext-windows-bin/raw/master/${remote_path}${lib_name}.7z
+ "${CMAKE_BINARY_DIR}/externals/${lib_name}.7z" SHOW_PROGRESS)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}.7z"
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
+endif()
+message(STATUS "Using bundled binaries at ${prefix}")
+set(${prefix_var} "${prefix}" PARENT_SCOPE)
+endfunction() \ No newline at end of file