cmake_minimum_required(VERSION 3.12) set(python_url_root "https://www.paraview.org/files/dependencies") set(python_version "3.8.6") #set(python_version "3.9.0") # Twisted needs Cython regenerated for 3.9.0. if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows") set(python_subdir "python-win64-${python_version}") set(sha256sum "fb7342d5c4fa5a83875bf3d5b8f5ff7b3153d901d27c949c1508e86770463ac3") # 3.9.0 #set(sha256sum "858061fbfb0a53387c1278a535bcd4abeae4ab07187be6042bfb02ca222c229f") else () message(FATAL_ERROR "Unknown platform for Python") endif () set(filename "${python_subdir}.tar.xz") # Download the file. file(DOWNLOAD "${python_url_root}/${filename}" ".gitlab/${filename}" STATUS download_status EXPECTED_HASH "SHA256=${sha256sum}") # Check the download status. list(GET download_status 0 res) if (res) list(GET download_status 1 err) message(FATAL_ERROR "Failed to download ${filename}: ${err}") endif () # Extract the file. execute_process( COMMAND "${CMAKE_COMMAND}" -E tar xf "${filename}" WORKING_DIRECTORY ".gitlab" RESULT_VARIABLE res ERROR_VARIABLE err ERROR_STRIP_TRAILING_WHITESPACE) if (res) message(FATAL_ERROR "Failed to extract ${filename}: ${err}") endif () # Move to a predictable prefix. file(RENAME ".gitlab/${python_subdir}" ".gitlab/python")