|
|
@ -7,35 +7,36 @@ |
|
|
# prefix_var: name of a variable which will be set with the path to the extracted contents |
|
|
# prefix_var: name of a variable which will be set with the path to the extracted contents |
|
|
set(CURRENT_MODULE_DIR ${CMAKE_CURRENT_LIST_DIR}) |
|
|
set(CURRENT_MODULE_DIR ${CMAKE_CURRENT_LIST_DIR}) |
|
|
function(download_bundled_external remote_path lib_name prefix_var) |
|
|
function(download_bundled_external remote_path lib_name prefix_var) |
|
|
|
|
|
set(package_base_url "https://github.com/eden-emulator/") |
|
|
|
|
|
set(package_repo "no_platform") |
|
|
|
|
|
set(package_extension "no_platform") |
|
|
|
|
|
|
|
|
set(package_base_url "https://github.com/eden-emulator/") |
|
|
|
|
|
set(package_repo "no_platform") |
|
|
|
|
|
set(package_extension "no_platform") |
|
|
|
|
|
if (WIN32) |
|
|
|
|
|
set(package_repo "ext-windows-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".7z") |
|
|
|
|
|
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
|
|
|
|
|
set(package_repo "ext-linux-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".tar.xz") |
|
|
|
|
|
elseif (ANDROID) |
|
|
|
|
|
set(package_repo "ext-android-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".tar.xz") |
|
|
|
|
|
else() |
|
|
|
|
|
message(FATAL_ERROR "No package available for this platform") |
|
|
|
|
|
endif() |
|
|
|
|
|
set(package_url "${package_base_url}${package_repo}") |
|
|
|
|
|
|
|
|
|
|
|
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}") |
|
|
|
|
|
if (NOT EXISTS "${prefix}") |
|
|
|
|
|
message(STATUS "Downloading binaries for ${lib_name}...") |
|
|
|
|
|
file(DOWNLOAD |
|
|
|
|
|
${package_url}${remote_path}${lib_name}${package_extension} |
|
|
|
|
|
"${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" SHOW_PROGRESS) |
|
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" |
|
|
|
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals") |
|
|
|
|
|
endif() |
|
|
|
|
|
message(STATUS "Using bundled binaries at ${prefix}") |
|
|
|
|
|
set(${prefix_var} "${prefix}" PARENT_SCOPE) |
|
|
|
|
|
|
|
|
# TODO(crueter): Windows should store ffmpeg 7z within cpm source cache |
|
|
|
|
|
if (WIN32) |
|
|
|
|
|
set(package_repo "ext-windows-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".7z") |
|
|
|
|
|
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
|
|
|
|
|
set(package_repo "ext-linux-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".tar.xz") |
|
|
|
|
|
elseif (ANDROID) |
|
|
|
|
|
set(package_repo "ext-android-bin/raw/master/") |
|
|
|
|
|
set(package_extension ".tar.xz") |
|
|
|
|
|
else() |
|
|
|
|
|
message(FATAL_ERROR "No package available for this platform") |
|
|
|
|
|
endif() |
|
|
|
|
|
set(package_url "${package_base_url}${package_repo}") |
|
|
|
|
|
|
|
|
|
|
|
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}") |
|
|
|
|
|
if (NOT EXISTS "${prefix}") |
|
|
|
|
|
message(STATUS "Downloading binaries for ${lib_name}...") |
|
|
|
|
|
file(DOWNLOAD |
|
|
|
|
|
${package_url}${remote_path}${lib_name}${package_extension} |
|
|
|
|
|
"${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" SHOW_PROGRESS) |
|
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${CMAKE_BINARY_DIR}/externals/${lib_name}${package_extension}" |
|
|
|
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals") |
|
|
|
|
|
endif() |
|
|
|
|
|
message(STATUS "Using bundled binaries at ${prefix}") |
|
|
|
|
|
set(${prefix_var} "${prefix}" PARENT_SCOPE) |
|
|
endfunction() |
|
|
endfunction() |
|
|
|
|
|
|
|
|
function(download_moltenvk_external platform version) |
|
|
function(download_moltenvk_external platform version) |
|
|
|