| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
- # reserved. Use of this source code is governed by a BSD-style license that
- # can be found in the LICENSE file.
- # Download the CEF binary distribution for |platform| and |version| to
- # |download_dir|. The |CEF_ROOT| variable will be set in global scope pointing
- # to the extracted location.
- # Visit https://cef-builds.spotifycdn.com/index.html for the list of
- # supported platforms and versions.
- function(DownloadCEF platform version download_dir)
- # Specify the binary distribution type and download directory.
- set(CEF_DISTRIBUTION "cef_binary_${version}_${platform}")
- set(CEF_DOWNLOAD_DIR "${download_dir}")
- # The location where we expect the extracted binary distribution.
- set(CEF_ROOT "${CEF_DOWNLOAD_DIR}/${CEF_DISTRIBUTION}" CACHE INTERNAL "CEF_ROOT")
- # Download and/or extract the binary distribution if necessary.
- if(NOT IS_DIRECTORY "${CEF_ROOT}")
- set(CEF_DOWNLOAD_FILENAME "${CEF_DISTRIBUTION}.tar.bz2")
- set(CEF_DOWNLOAD_PATH "${CEF_DOWNLOAD_DIR}/${CEF_DOWNLOAD_FILENAME}")
- if(NOT EXISTS "${CEF_DOWNLOAD_PATH}")
- set(CEF_DOWNLOAD_URL "https://cef-builds.spotifycdn.com/${CEF_DOWNLOAD_FILENAME}")
- string(REPLACE "+" "%2B" CEF_DOWNLOAD_URL_ESCAPED ${CEF_DOWNLOAD_URL})
- # Download the SHA1 hash for the binary distribution.
- message(STATUS "Downloading ${CEF_DOWNLOAD_PATH}.sha1 from ${CEF_DOWNLOAD_URL_ESCAPED}...")
- file(DOWNLOAD "${CEF_DOWNLOAD_URL_ESCAPED}.sha1" "${CEF_DOWNLOAD_PATH}.sha1")
- file(READ "${CEF_DOWNLOAD_PATH}.sha1" CEF_SHA1)
- # Download the binary distribution and verify the hash.
- message(STATUS "Downloading ${CEF_DOWNLOAD_PATH}...")
- file(
- DOWNLOAD "${CEF_DOWNLOAD_URL_ESCAPED}" "${CEF_DOWNLOAD_PATH}"
- EXPECTED_HASH SHA1=${CEF_SHA1}
- SHOW_PROGRESS
- )
- endif()
- # Extract the binary distribution.
- message(STATUS "Extracting ${CEF_DOWNLOAD_PATH}...")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar xzf "${CEF_DOWNLOAD_DIR}/${CEF_DOWNLOAD_FILENAME}"
- WORKING_DIRECTORY ${CEF_DOWNLOAD_DIR}
- )
- endif()
- endfunction()
|