summaryrefslogtreecommitdiff
path: root/CMakeModules
diff options
context:
space:
mode:
authorJames Rowe <jroweboy@gmail.com>2017-09-09 11:24:13 -0600
committerJames Rowe <jroweboy@gmail.com>2017-09-11 09:10:17 -0600
commit9e847b754933f09bdf19be0dc45fc32a65052965 (patch)
treefb904cde766d925d20fe78c41fb6a24eb742195c /CMakeModules
parent11baa40d75d8a479bd738a05e91bba6f09856fe5 (diff)
Build: Enable SSL in mingw by linking against WinSSL
The mingw builds aren't submitting telemetry because the curl library they are linked against is configured to use openSSL and openSSL looks for the certificates in the users home folder. This keeps it from contacting web services because it can't communicate over SSL. This commit adds a download in mingw builds that will download a precompiled curl for mingw linked against winssl and sspi.
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