download_python3.cmake 967 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. cmake_minimum_required(VERSION 3.17)
  2. set(version "3.8.6")
  3. set(sha256sum "376e18eef7e3ea467f0e3af041b01fc7e2f12855506c2ab2653ceb5e0951212e")
  4. set(dirname "python-${version}-embed-win-x86_64")
  5. set(tarball "${dirname}.tar.xz")
  6. # Download the file.
  7. file(DOWNLOAD
  8. "https://cmake.org/files/dependencies/${tarball}"
  9. ".gitlab/${tarball}"
  10. STATUS download_status
  11. EXPECTED_HASH "SHA256=${sha256sum}")
  12. # Check the download status.
  13. list(GET download_status 0 res)
  14. if (res)
  15. list(GET download_status 1 err)
  16. message(FATAL_ERROR
  17. "Failed to download ${tarball}: ${err}")
  18. endif ()
  19. # Extract the file.
  20. execute_process(
  21. COMMAND
  22. "${CMAKE_COMMAND}"
  23. -E tar
  24. xzf "${tarball}"
  25. WORKING_DIRECTORY ".gitlab"
  26. RESULT_VARIABLE res
  27. ERROR_VARIABLE err
  28. ERROR_STRIP_TRAILING_WHITESPACE)
  29. if (res)
  30. message(FATAL_ERROR
  31. "Failed to extract ${tarball}: ${err}")
  32. endif ()
  33. # Move to a predictable directory.
  34. file(RENAME
  35. ".gitlab/${dirname}"
  36. ".gitlab/python3")