aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake30
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake3
2 files changed, 32 insertions, 1 deletions
diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake
new file mode 100644
index 000000000..20e249c8b
--- /dev/null
+++ b/scripts/cmake/vcpkg_acquire_msys.cmake
@@ -0,0 +1,30 @@
+function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
+ set(TOOLPATH ${DOWNLOADS}/tools/msys2)
+ set(TOOLSUBPATH msys32)
+ set(URL "https://sourceforge.net/projects/msys2/files/Base/i686/msys2-base-i686-20161025.tar.xz/download")
+ set(ARCHIVE "msys2-base-i686-20161025.tar.xz")
+ set(HASH c9260a38e0c6bf963adeaea098c4e376449c1dd0afe07480741d6583a1ac4c138951ccb0c5388bd148e04255a5c1a23bf5ee2d58dcd6607c14f1eaa5639a7c85)
+
+ set(PATH_TO_ROOT ${TOOLPATH}/${TOOLSUBPATH})
+
+ if(NOT EXISTS "${TOOLPATH}/initialized-msys2.stamp")
+ message(STATUS "Acquiring MSYS2...")
+ file(DOWNLOAD ${URL} ${DOWNLOADS}/${ARCHIVE}
+ EXPECTED_HASH SHA512=${HASH}
+ )
+ file(REMOVE_RECURSE ${TOOLPATH})
+ file(MAKE_DIRECTORY ${TOOLPATH})
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} -E tar xzf ${DOWNLOADS}/${ARCHIVE}
+ WORKING_DIRECTORY ${TOOLPATH}
+ )
+ execute_process(
+ COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin:\$PATH;pacman-key --init;pacman-key --populate"
+ WORKING_DIRECTORY ${TOOLPATH}
+ )
+ file(WRITE "${TOOLPATH}/initialized-msys2.stamp" "0")
+ message(STATUS "Acquiring MSYS2... OK")
+ endif()
+
+ set(${PATH_TO_ROOT_OUT} ${PATH_TO_ROOT} PARENT_SCOPE)
+endfunction() \ No newline at end of file
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index 44278ebba..a003548d5 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -1,3 +1,4 @@
+include(vcpkg_acquire_msys)
include(vcpkg_download_distfile)
include(vcpkg_extract_source_archive)
include(vcpkg_execute_required_process)
@@ -16,4 +17,4 @@ include(vcpkg_copy_pdbs)
include(vcpkg_copy_tool_dependencies)
include(vcpkg_get_program_files_32_bit)
include(vcpkg_get_program_files_platform_bitness)
-include(vcpkg_get_windows_sdk)
+include(vcpkg_get_windows_sdk) \ No newline at end of file