[cmake] refactor: CPMUtil
Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
parent
bbbef71abd
commit
6b512d685d
8 changed files with 220 additions and 160 deletions
|
@ -216,14 +216,14 @@ if (YUZU_USE_BUNDLED_VCPKG)
|
|||
list(APPEND VCPKG_MANIFEST_FEATURES "android")
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
include(CPMUtil)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME vcpkg
|
||||
DOWNLOAD_ONLY YES
|
||||
GIT_REPOSITORY "https://github.com/microsoft/vcpkg.git"
|
||||
URL "https://github.com/microsoft/vcpkg.git"
|
||||
GIT_TAG "ea2a964f93"
|
||||
CUSTOM_CACHE_KEY "ea2a"
|
||||
KEY "ea2a"
|
||||
)
|
||||
|
||||
include(${vcpkg_SOURCE_DIR}/scripts/buildsystems/vcpkg.cmake)
|
||||
|
|
93
CMakeModules/CPMUtil.cmake
Normal file
93
CMakeModules/CPMUtil.cmake
Normal file
|
@ -0,0 +1,93 @@
|
|||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Created-By: crueter
|
||||
# Docs will come at a later date, mostly this is to just reduce boilerplate and some cmake magic
|
||||
# to allow for runtime viewing of dependency versions
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
include(CPM)
|
||||
|
||||
function(AddPackage)
|
||||
cpm_set_policies()
|
||||
|
||||
set(oneValueArgs
|
||||
NAME
|
||||
VERSION
|
||||
REPO
|
||||
SHA
|
||||
HASH
|
||||
KEY
|
||||
URL # Only for custom non-GitHub urls
|
||||
DOWNLOAD_ONLY
|
||||
FIND_PACKAGE_ARGUMENTS
|
||||
SYSTEM_PACKAGE
|
||||
BUNDLED_PACKAGE
|
||||
)
|
||||
|
||||
set(multiValueArgs OPTIONS PATCHES)
|
||||
|
||||
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}")
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_NAME)
|
||||
message(FATAL_ERROR "CPMUtil: No package name defined")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_URL)
|
||||
if (DEFINED PKG_ARGS_REPO AND DEFINED PKG_ARGS_SHA)
|
||||
set(PKG_URL "https://github.com/${PKG_ARGS_REPO}/archive/${PKG_ARGS_SHA}.zip")
|
||||
else()
|
||||
message(FATAL_ERROR "CPMUtil: No custom URL and no repository + sha defined")
|
||||
endif()
|
||||
else()
|
||||
set(PKG_URL ${PKG_ARGS_URL})
|
||||
endif()
|
||||
|
||||
message(STATUS "CPMUtil: Downloading package ${PKG_ARGS_NAME} from ${PKG_URL}")
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_KEY)
|
||||
if (DEFINED PKG_ARGS_SHA)
|
||||
string(SUBSTRING ${PKG_ARGS_SHA} 0 4 PKG_KEY)
|
||||
message(STATUS "CPMUtil: No custom key defined, using ${PKG_KEY} from sha")
|
||||
else()
|
||||
message(FATAL_ERROR "CPMUtil: No custom key and no commit sha defined")
|
||||
endif()
|
||||
else()
|
||||
set(PKG_KEY ${PKG_ARGS_KEY})
|
||||
endif()
|
||||
|
||||
set(PKG_HASH "SHA512=${PKG_ARGS_HASH}")
|
||||
|
||||
# Default behavior is bundled
|
||||
if (DEFINED PKG_ARGS_SYSTEM_PACKAGE)
|
||||
set(CPM_USE_LOCAL_PACKAGES ${PKG_ARGS_SYSTEM_PACKAGE})
|
||||
elseif (DEFINED PKG_ARGS_BUNDLED_PACKAGE)
|
||||
if (PKG_ARGS_BUNDLED_PACKAGE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
endif()
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
NAME ${PKG_ARGS_NAME}
|
||||
VERSION ${PKG_ARGS_VERSION}
|
||||
URL ${PKG_URL}
|
||||
URL_HASH ${PKG_HASH}
|
||||
CUSTOM_CACHE_KEY ${PKG_KEY}
|
||||
DOWNLOAD_ONLY ${PKG_ARGS_DOWNLOAD_ONLY}
|
||||
FIND_PACKAGE_ARGUMENTS ${PKG_ARGS_FIND_PACKAGE_ARGUMENTS}
|
||||
|
||||
OPTIONS ${PKG_ARGS_OPTIONS}
|
||||
PATCHES ${PKG_ARGS_PATCHES}
|
||||
|
||||
${PKG_ARGS_UNPARSED_ARGUMENTS}
|
||||
)
|
||||
|
||||
# pass stuff to parent scope
|
||||
set(${PKG_ARGS_NAME}_ADDED "${${PKG_ARGS_NAME}_ADDED}" PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_SOURCE_DIR "${${PKG_ARGS_NAME}_SOURCE_DIR}" PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_BINARY_DIR "${${PKG_ARGS_NAME}_BINARY_DIR}" PARENT_SCOPE)
|
||||
endfunction()
|
|
@ -29,13 +29,11 @@ function(download_bundled_external remote_path lib_name cpm_key prefix_var)
|
|||
set(package_url "${package_base_url}${package_repo}")
|
||||
set(full_url ${package_url}${remote_path}${lib_name}${package_extension})
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME ${cpm_key}
|
||||
URL ${full_url}
|
||||
DOWNLOAD_ONLY YES
|
||||
CUSTOM_CACHE_KEY ${CACHE_KEY}
|
||||
KEY ${CACHE_KEY}
|
||||
)
|
||||
|
||||
set(${prefix_var} "${${cpm_key}_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
|
199
externals/CMakeLists.txt
vendored
199
externals/CMakeLists.txt
vendored
|
@ -5,7 +5,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
# cpm
|
||||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Explicitly declare this option here to propagate to the oaknut CPM call
|
||||
option(DYNARMIC_TESTS "Build tests" ${BUILD_TESTING})
|
||||
|
@ -29,8 +29,6 @@ endif()
|
|||
|
||||
# Xbyak (also used by Dynarmic, so needs to be added first)
|
||||
if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
|
||||
# Fix regset.h collisions
|
||||
set(XBYAK_HASH 51f507b0b3)
|
||||
|
@ -40,22 +38,22 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
|||
set(XBYAK_SHA512SUM 5824e92159e07fa36a774aedd3b3ef3541d0241371d522cffa4ab3e1f215fa5097b1b77865b47b2481376c704fa079875557ea463ca63d0a7fd6a8a20a589e70)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME xbyak
|
||||
URL "https://github.com/Lizzie841/xbyak/archive/${XBYAK_HASH}.zip"
|
||||
URL_HASH SHA512=${XBYAK_SHA512SUM}
|
||||
CUSTOM_CACHE_KEY ${XBYAK_HASH}
|
||||
REPO "Lizzie841/xbyak"
|
||||
SHA ${XBYAK_HASH}
|
||||
HASH ${XBYAK_SHA512SUM}
|
||||
)
|
||||
endif()
|
||||
|
||||
# Oaknut (also used by Dynarmic, so needs to be added first)
|
||||
if (ARCHITECTURE_arm64 OR DYNARMIC_TESTS)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME oaknut
|
||||
VERSION 2.0.1
|
||||
URL "https://github.com/merryhime/oaknut/archive/94c726ce03.zip"
|
||||
URL_HASH SHA512=d8d082242fa1881abce3c82f8dafa002c4e561e66a69e7fc038af67faa5eff2630f082d3d19579c88c4c9f9488e54552accc8cb90e7ce743efe043b6230c08ac
|
||||
CUSTOM_CACHE_KEY "94c7"
|
||||
REPO "merryhime/oaknut"
|
||||
SHA 94c726ce03
|
||||
HASH d8d082242fa1881abce3c82f8dafa002c4e561e66a69e7fc038af67faa5eff2630f082d3d19579c88c4c9f9488e54552accc8cb90e7ce743efe043b6230c08ac
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -69,15 +67,14 @@ add_subdirectory(glad)
|
|||
|
||||
# mbedtls
|
||||
# TODO(crueter): test local mbedtls
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME mbedtls
|
||||
URL "https://github.com/Mbed-TLS/mbedtls/archive/8c88150ca1.zip"
|
||||
URL_HASH SHA512=769ad1e94c570671071e1f2a5c0f1027e0bf6bcdd1a80ea8ac970f2c86bc45ce4e31aa88d6d8110fc1bed1de81c48bc624df1b38a26f8b340a44e109d784a966
|
||||
REPO "Mbed-TLS/mbedtls"
|
||||
SHA "8c88150ca1"
|
||||
HASH 769ad1e94c570671071e1f2a5c0f1027e0bf6bcdd1a80ea8ac970f2c86bc45ce4e31aa88d6d8110fc1bed1de81c48bc624df1b38a26f8b340a44e109d784a966
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/mbedtls/0001-cmake-version.patch
|
||||
CUSTOM_CACHE_KEY "8c88"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
if (mbedtls_ADDED)
|
||||
|
@ -131,11 +128,12 @@ if (YUZU_USE_EXTERNAL_SDL2)
|
|||
set(SDL_SHA512SUM d95af47f469a312876f8ab361074a1e7b8083db19935a102d9c6e5887ace6008e64475a8c54b00164b40cad86492bb1b2366084efdd0b2555e5fea6d9c5da80e)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SDL2
|
||||
URL "https://github.com/libsdl-org/SDL/archive/${SDL_HASH}.zip"
|
||||
URL_HASH SHA512=${SDL_SHA512SUM}
|
||||
CUSTOM_CACHE_KEY "${YUZU_SYSTEM_PROFILE}"
|
||||
REPO "libsdl-org/SDL"
|
||||
SHA ${SDL_HASH}
|
||||
HASH ${SDL_SHA512SUM}
|
||||
KEY ${YUZU_SYSTEM_PROFILE}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -146,18 +144,17 @@ if (NOT TARGET enet::enet)
|
|||
add_library(enet::enet ALIAS enet)
|
||||
endif()
|
||||
|
||||
# TODO(crueter): Create a common CPMUtil.cmake that does this for me
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME cubeb
|
||||
URL "https://github.com/mozilla/cubeb/archive/fa02160712.zip"
|
||||
REPO "mozilla/cubeb"
|
||||
SHA fa02160712
|
||||
HASH 82d808356752e4064de48c8fecbe7856715ade1e76b53937116bf07129fc1cc5b3de5e4b408de3cd000187ba8dc32ca4109661cb7e0355a52e54bd81b9be1c61
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG" # not sure this works outside of gentoo
|
||||
OPTIONS
|
||||
"USE_SANITIZERS OFF"
|
||||
"BUILD_TESTS OFF"
|
||||
"BUILD_TOOLS OFF"
|
||||
CUSTOM_CACHE_KEY "fa02"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
if (cubeb_ADDED)
|
||||
|
@ -184,19 +181,17 @@ endif()
|
|||
|
||||
# DiscordRPC
|
||||
if (USE_DISCORD_PRESENCE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME discord-rpc
|
||||
URL "https://github.com/discord/discord-rpc/archive/963aa9f3e5.zip"
|
||||
URL_HASH SHA512=386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde
|
||||
REPO "discord/discord-rpc"
|
||||
SHA 963aa9f3e5
|
||||
HASH 386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde
|
||||
OPTIONS
|
||||
"BUILD_EXAMPLES OFF"
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0001-cmake-version.patch
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0002-no-clang-format.patch
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0003-fix-cpp17.patch
|
||||
CUSTOM_CACHE_KEY "963a"
|
||||
)
|
||||
|
||||
target_include_directories(discord-rpc INTERFACE ${discord-rpc_SOURCE_DIR}/include)
|
||||
|
@ -205,76 +200,68 @@ endif()
|
|||
|
||||
# Sirit
|
||||
# TODO(crueter): spirv-tools doesn't work w/ system
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SPIRV-Headers
|
||||
URL "https://github.com/KhronosGroup/SPIRV-Headers/archive/04b76709bf.zip"
|
||||
URL_HASH SHA512=954bbc4794bd369c828937c7d4106b6c7bd17a992c672bf1c2a24c128f2bcf1a13295111f47ce4a0fa77641db424359b153dfea2f4e9d19fe64effb29f411c5c
|
||||
CUSTOM_CACHE_KEY "04b7"
|
||||
REPO "KhronosGroup/SPIRV-Headers"
|
||||
SHA 04b76709bf.zip
|
||||
HASH 954bbc4794bd369c828937c7d4106b6c7bd17a992c672bf1c2a24c128f2bcf1a13295111f47ce4a0fa77641db424359b153dfea2f4e9d19fe64effb29f411c5c
|
||||
)
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME sirit
|
||||
URL "https://github.com/ReinUsesLisp/sirit/archive/d7ad93a888.zip"
|
||||
URL_HASH SHA512=4532125b180729b13dcc2a0418f36ad5e902b1a628ca3d85adca64547442800a30a6eb8efe45e186c020986f27a6f6a53083a4b74dd58cb19eb5657d5cbaaa71
|
||||
REPO "ReinUsesLisp/sirit"
|
||||
SHA d7ad93a888
|
||||
HASH 4532125b180729b13dcc2a0418f36ad5e902b1a628ca3d85adca64547442800a30a6eb8efe45e186c020986f27a6f6a53083a4b74dd58cb19eb5657d5cbaaa71
|
||||
OPTIONS
|
||||
"SIRIT_USE_SYSTEM_SPIRV_HEADERS ON"
|
||||
CUSTOM_CACHE_KEY "d7ad"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
# httplib
|
||||
if ((ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER))
|
||||
set(CPM_USE_LOCAL_PACKAGES ${YUZU_USE_SYSTEM_HTTPLIB})
|
||||
|
||||
# TODO(crueter): fix local package (gentoo?)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME httplib
|
||||
VERSION 0.12
|
||||
URL "https://github.com/yhirose/cpp-httplib/archive/a609330e4c.zip"
|
||||
URL_HASH SHA512=dd3fd0572f8367d8549e1319fd98368b3e75801a293b0c3ac9b4adb806473a4506a484b3d389dc5bee5acc460cb90af7a20e5df705a1696b56496b30b9ce7ed2
|
||||
REPO "yhirose/cpp-httplib"
|
||||
SHA a609330e4c
|
||||
HASH dd3fd0572f8367d8549e1319fd98368b3e75801a293b0c3ac9b4adb806473a4506a484b3d389dc5bee5acc460cb90af7a20e5df705a1696b56496b30b9ce7ed2
|
||||
FIND_PACKAGE_ARGUMENTS "MODULE"
|
||||
OPTIONS
|
||||
"HTTPLIB_REQUIRE_OPENSSL ON"
|
||||
CUSTOM_CACHE_KEY "a609"
|
||||
SYSTEM_PACKAGE ${YUZU_USE_SYSTEM_HTTPLIB}
|
||||
)
|
||||
endif()
|
||||
|
||||
# cpp-jwt
|
||||
if (ENABLE_WEB_SERVICE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME cpp-jwt
|
||||
VERSION 1.4
|
||||
URL "https://github.com/arun11299/cpp-jwt/archive/10ef5735d8.zip"
|
||||
URL_HASH SHA512=ebba3d26b33a3b0aa909f475e099594560edbce10ecd03e76d7fea68549a28713ea606d363808f88a5495b62c54c3cdb7e47aee2d946eceabd36e310479dadb7
|
||||
REPO "arun11299/cpp-jwt"
|
||||
SHA 10ef5735d8
|
||||
HASH ebba3d26b33a3b0aa909f475e099594560edbce10ecd03e76d7fea68549a28713ea606d363808f88a5495b62c54c3cdb7e47aee2d946eceabd36e310479dadb7
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
OPTIONS
|
||||
"CPP_JWT_BUILD_EXAMPLES OFF"
|
||||
"CPP_JWT_BUILD_TESTS OFF"
|
||||
"CPP_JWT_USE_VENDORED_NLOHMANN_JSON OFF"
|
||||
CUSTOM_CACHE_KEY "10ef"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Opus
|
||||
set(CPM_USE_LOCAL_PACKAGES ${YUZU_USE_SYSTEM_OPUS})
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Opus
|
||||
VERSION 1.3
|
||||
URL "https://github.com/xiph/opus/archive/5ded705cf4.zip"
|
||||
URL_HASH SHA512=0dc89e58ddda1f3bc6a7037963994770c5806c10e66f5cc55c59286fc76d0544fe4eca7626772b888fd719f434bc8a92f792bdb350c807968b2ac14cfc04b203
|
||||
REPO "xiph/opus"
|
||||
SHA 5ded705cf4
|
||||
HASH 0dc89e58ddda1f3bc6a7037963994770c5806c10e66f5cc55c59286fc76d0544fe4eca7626772b888fd719f434bc8a92f792bdb350c807968b2ac14cfc04b203
|
||||
FIND_PACKAGE_ARGUMENTS "MODULE"
|
||||
OPTIONS
|
||||
"OPUS_BUILD_TESTING OFF"
|
||||
"OPUS_BUILD_PROGRAMS OFF"
|
||||
"OPUS_INSTALL_PKG_CONFIG_MODULE OFF"
|
||||
"OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF"
|
||||
CUSTOM_CACHE_KEY "5ded"
|
||||
SYSTEM_PACKAGE ${YUZU_USE_SYSTEM_OPUS}
|
||||
)
|
||||
|
||||
# FFMpeg
|
||||
|
@ -295,12 +282,14 @@ endif()
|
|||
|
||||
# TODO(crueter): Vk1.4 impl
|
||||
|
||||
CPMAddPackage(
|
||||
# TODO(crueter): allow sys packages?
|
||||
AddPackage(
|
||||
NAME VulkanHeaders
|
||||
VERSION 1.3.274
|
||||
URL "https://github.com/KhronosGroup/Vulkan-Headers/archive/89268a6d17.zip"
|
||||
URL_HASH SHA512=3ab349f74298ba72cafb8561015690c0674d428a09fb91ccd3cd3daca83650d190d46d33fd97b0a8fd4223fe6df2bcabae89136fbbf7c0bfeb8776f9448304c8
|
||||
CUSTOM_CACHE_KEY "8926"
|
||||
REPO "KhronosGroup/Vulkan-Headers"
|
||||
SHA 89268a6d17
|
||||
HASH 3ab349f74298ba72cafb8561015690c0674d428a09fb91ccd3cd3daca83650d190d46d33fd97b0a8fd4223fe6df2bcabae89136fbbf7c0bfeb8776f9448304c8
|
||||
BUNDLED_PACKAGE ${YUZU_USE_EXTERNAL_VULKAN_HEADERS}
|
||||
)
|
||||
|
||||
# CMake's interface generator sucks
|
||||
|
@ -312,17 +301,12 @@ set(VulkanHeaders_SOURCE_DIR "${VulkanHeaders_SOURCE_DIR}" PARENT_SCOPE)
|
|||
set(VulkanHeaders_ADDED "${VulkanHeaders_ADDED}" PARENT_SCOPE)
|
||||
|
||||
# Vulkan-Utility-Libraries
|
||||
if (YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME VulkanUtilityLibraries
|
||||
URL "https://github.com/KhronosGroup/Vulkan-Utility-Libraries/archive/df2e358152.zip"
|
||||
URL_HASH SHA512=3e468c3d9ff93f6d418d71e5527abe0a12c8c7ab5b0b52278bbbee4d02bb87e99073906729b727e0147242b7e3fd5dedf68b803f1878cb4c0e4f730bc2238d79
|
||||
CUSTOM_CACHE_KEY "df2e"
|
||||
REPO "KhronosGroup/Vulkan-Utility-Libraries"
|
||||
SHA df2e358152
|
||||
HASH 3e468c3d9ff93f6d418d71e5527abe0a12c8c7ab5b0b52278bbbee4d02bb87e99073906729b727e0147242b7e3fd5dedf68b803f1878cb4c0e4f730bc2238d79
|
||||
BUNDLED_PACKAGE ${YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES}
|
||||
)
|
||||
|
||||
set(VulkanUtilityLibraries_SOURCE_DIR "${VulkanUtilityLibraries_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
@ -330,38 +314,35 @@ set(VulkanUtilityLibraries_ADDED "${VulkanUtilityLibraries_ADDED}" PARENT_SCOPE)
|
|||
|
||||
# SPIRV-Tools
|
||||
if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SPIRV-Tools
|
||||
URL "https://github.com/KhronosGroup/SPIRV-Tools/archive/40eb301f32.zip"
|
||||
URL_HASH SHA512=58d0fb1047d69373cf24c73e6f78c73a72a6cca3b4df1d9f083b9dcc0962745ef154abf3dbe9b3623b835be20c6ec769431cf11733349f45e7568b3525f707aa
|
||||
REPO "KhronosGroup/SPIRV-Tools"
|
||||
SHA 40eb301f32
|
||||
HASH 58d0fb1047d69373cf24c73e6f78c73a72a6cca3b4df1d9f083b9dcc0962745ef154abf3dbe9b3623b835be20c6ec769431cf11733349f45e7568b3525f707aa
|
||||
OPTIONS
|
||||
"SPIRV_SKIP_EXECUTABLES ON"
|
||||
CUSTOM_CACHE_KEY "40eb"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Boost headers
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME boost_headers
|
||||
URL "https://github.com/boostorg/headers/archive/0456900fad.zip"
|
||||
URL_HASH SHA512=50cd75dcdfc5f082225cdace058f47b4fb114a47585f7aee1d22236a910a80b667186254c214fa2fcebac67ae6d37ba4b6e695e1faea8affd6fd42a03cf996e3
|
||||
CUSTOM_CACHE_KEY "0456"
|
||||
REPO "boostorg/headers"
|
||||
SHA 0456900fad
|
||||
HASH 50cd75dcdfc5f082225cdace058f47b4fb114a47585f7aee1d22236a910a80b667186254c214fa2fcebac67ae6d37ba4b6e695e1faea8affd6fd42a03cf996e3
|
||||
)
|
||||
|
||||
# TZDB (Time Zone Database)
|
||||
add_subdirectory(nx_tzdb)
|
||||
|
||||
# VMA
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME VulkanMemoryAllocator
|
||||
URL "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/1076b348ab.zip"
|
||||
URL_HASH SHA512=a46b44e4286d08cffda058e856c47f44c7fed3da55fe9555976eb3907fdcc20ead0b1860b0c38319cda01dbf9b1aa5d4b4038c7f1f8fbd97283d837fa9af9772
|
||||
REPO "GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
|
||||
SHA 1076b348ab
|
||||
HASH a46b44e4286d08cffda058e856c47f44c7fed3da55fe9555976eb3907fdcc20ead0b1860b0c38319cda01dbf9b1aa5d4b4038c7f1f8fbd97283d837fa9af9772
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
CUSTOM_CACHE_KEY "1076"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
set(VulkanMemoryAllocator_SOURCE_DIR "${VulkanMemoryAllocator_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
@ -397,15 +378,13 @@ endif()
|
|||
|
||||
if (ANDROID)
|
||||
if (ARCHITECTURE_arm64)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME libadrenotools
|
||||
URL "https://github.com/bylaws/libadrenotools/archive/8fae8ce254.zip"
|
||||
URL_HASH SHA512=c74fa855f0edebbf25c9bce40b00966daa2447bfc5e15f0cf1a95f86cbf70fc6b02590707edbde16328a0a2a4fb9a1fc419d2dfc22a4a4150971be91892d4edb
|
||||
REPO "bylaws/libadrenotools"
|
||||
SHA 8fae8ce254
|
||||
HASH c74fa855f0edebbf25c9bce40b00966daa2447bfc5e15f0cf1a95f86cbf70fc6b02590707edbde16328a0a2a4fb9a1fc419d2dfc22a4a4150971be91892d4edb
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/libadrenotools/0001-linkerns-cpm.patch
|
||||
CUSTOM_CACHE_KEY "8fae"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
@ -430,13 +409,12 @@ if (YUZU_CRASH_DUMPS AND NOT TARGET libbreakpad_client)
|
|||
_CRT_NONSTDC_NO_DEPRECATE
|
||||
)
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME breakpad
|
||||
URL "https://github.com/google/breakpad/archive/f80f288803.zip"
|
||||
URL_HASH SHA512=4a87ee88cea99bd633d52a5b00135a649f1475e3b65db325a6df9c804ab82b054ad7e62419b35f6e22cc5dfbbb569214041d7ad5d10fab10106e700bb5050e1d
|
||||
URL "google/breakpad"
|
||||
SHA f80f288803
|
||||
HASH 4a87ee88cea99bd633d52a5b00135a649f1475e3b65db325a6df9c804ab82b054ad7e62419b35f6e22cc5dfbbb569214041d7ad5d10fab10106e700bb5050e1d
|
||||
DOWNLOAD_ONLY YES
|
||||
CUSTOM_CACHE_KEY "f80f"
|
||||
)
|
||||
|
||||
# libbreakpad
|
||||
|
@ -536,14 +514,11 @@ endif()
|
|||
|
||||
# oboe
|
||||
if (ANDROID)
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME oboe
|
||||
URL "https://github.com/google/oboe/archive/2bc873e53c.zip"
|
||||
URL_HASH SHA512=02329058a7f9cf7d5039afaae5ab170d9f42f60f4c01e21eaf4f46073886922b057a9ae30eeac040b3ac182f51b9c1bfe9fe1050a2c9f6ce567a1a9a0ec2c768
|
||||
OPTIONS
|
||||
"SPIRV_SKIP_EXECUTABLES ON"
|
||||
CUSTOM_CACHE_KEY "2bc8"
|
||||
REPO "google/oboe"
|
||||
SHA 2bc873e53c
|
||||
HASH 02329058a7f9cf7d5039afaae5ab170d9f42f60f4c01e21eaf4f46073886922b057a9ae30eeac040b3ac182f51b9c1bfe9fe1050a2c9f6ce567a1a9a0ec2c768
|
||||
)
|
||||
|
||||
add_library(oboe::oboe ALIAS oboe)
|
||||
|
|
11
externals/ffmpeg/CMakeLists.txt
vendored
11
externals/ffmpeg/CMakeLists.txt
vendored
|
@ -19,14 +19,11 @@ if (NOT WIN32 AND NOT ANDROID)
|
|||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME ffmpeg
|
||||
URL "https://github.com/FFmpeg/FFmpeg/archive/c2184b65d2.zip"
|
||||
URL_HASH SHA512=2a89d664119debbb3c006ab1c48d5d7f26e889f4a65ad2e25c8b0503308295123d5a9c5c78bf683aef5ff09acef8c3fc2837f22d3e8c611528b933bf03bcdd97
|
||||
CUSTOM_CACHE_KEY "c218"
|
||||
REPO "FFmpeg/FFmpeg"
|
||||
SHA c2184b65d2
|
||||
HASH 2a89d664119debbb3c006ab1c48d5d7f26e889f4a65ad2e25c8b0503308295123d5a9c5c78bf683aef5ff09acef8c3fc2837f22d3e8c611528b933bf03bcdd97
|
||||
)
|
||||
|
||||
set(FFmpeg_PREFIX ${ffmpeg_SOURCE_DIR})
|
||||
|
|
42
src/dynarmic/externals/CMakeLists.txt
vendored
42
src/dynarmic/externals/CMakeLists.txt
vendored
|
@ -1,4 +1,4 @@
|
|||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Always build externals as static libraries, even when dynarmic is built as shared
|
||||
if (BUILD_SHARED_LIBS)
|
||||
|
@ -22,12 +22,12 @@ set(BUILD_TESTING OFF)
|
|||
if ("riscv" IN_LIST ARCHITECTURE)
|
||||
add_subdirectory(biscuit)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME biscuit
|
||||
VERSION 0.9.1
|
||||
URL "https://github.com/lioncash/biscuit/archive/76b0be8dae.zip"
|
||||
URL_HASH SHA512=47d55ed02d032d6cf3dc107c6c0a9aea686d5f25aefb81d1af91db027b6815bd5add1755505e19d76625feeb17aa2db6cd1668fe0dad2e6a411519bde6ca4489
|
||||
CUSTOM_CACHE_KEY "76b0"
|
||||
REPO "lioncash/biscuit"
|
||||
SHA 76b0be8dae
|
||||
HASH 47d55ed02d032d6cf3dc107c6c0a9aea686d5f25aefb81d1af91db027b6815bd5add1755505e19d76625feeb17aa2db6cd1668fe0dad2e6a411519bde6ca4489
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -49,14 +49,14 @@ if (NOT TARGET fmt::fmt)
|
|||
endif()
|
||||
|
||||
# mcl
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME mcl
|
||||
VERSION 0.1.12
|
||||
URL "https://github.com/azahar-emu/mcl/archive/7b08d83418.zip"
|
||||
URL_HASH SHA512=f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
||||
REPO "azahar-emu/mcl"
|
||||
SHA 7b08d83418
|
||||
HASH f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
||||
OPTIONS
|
||||
"MCL_INSTALL OFF"
|
||||
CUSTOM_CACHE_KEY "7b08"
|
||||
)
|
||||
|
||||
# oaknut
|
||||
|
@ -71,14 +71,14 @@ CPMAddPackage(
|
|||
|
||||
# unordered_dense
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME unordered_dense
|
||||
URL "https://github.com/Lizzie841/unordered_dense/archive/e59d30b7b1.zip"
|
||||
URL_HASH SHA512=71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
||||
REPO "Lizzie841/unordered_dense"
|
||||
SHA e59d30b7b1
|
||||
HASH 71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
OPTIONS
|
||||
"UNORDERED_DENSE_INSTALL OFF"
|
||||
CUSTOM_CACHE_KEY "e59d"
|
||||
)
|
||||
|
||||
# xbyak
|
||||
|
@ -93,24 +93,24 @@ CPMAddPackage(
|
|||
# zydis
|
||||
|
||||
if ("x86_64" IN_LIST ARCHITECTURE)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Zycore
|
||||
URL "https://github.com/zyantific/zycore-c/archive/75a36c45ae.zip"
|
||||
URL_HASH SHA512=15aa399f39713e042c4345bc3175c82f14dca849fde2a21d4f591f62c43e227b70d868d8bb86beb5f4eb68b1d6bd3792cdd638acf89009e787e3d10ee7401924
|
||||
CUSTOM_CACHE_KEY "75a3"
|
||||
REPO "zyantific/zycore-c"
|
||||
SHA 75a36c45ae
|
||||
HASH 15aa399f39713e042c4345bc3175c82f14dca849fde2a21d4f591f62c43e227b70d868d8bb86beb5f4eb68b1d6bd3792cdd638acf89009e787e3d10ee7401924
|
||||
)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Zydis
|
||||
VERSION 4
|
||||
URL "https://github.com/zyantific/zydis/archive/c2d2bab025.zip"
|
||||
URL_HASH SHA512=7b48f213ff7aab2926f8c9c65195959143bebbfb2b9a25051ffd8b8b0f1baf1670d9739781de674577d955925f91ac89376e16b476a03828c84e2fd765d45020
|
||||
REPO "zyantific/zydis"
|
||||
SHA c2d2bab025
|
||||
HASH 7b48f213ff7aab2926f8c9c65195959143bebbfb2b9a25051ffd8b8b0f1baf1670d9739781de674577d955925f91ac89376e16b476a03828c84e2fd765d45020
|
||||
OPTIONS
|
||||
"ZYDIS_BUILD_TOOLS OFF"
|
||||
"ZYDIS_BUILD_EXAMPLES OFF"
|
||||
"ZYDIS_BUILD_DOXYGEN OFF"
|
||||
"ZYAN_ZYCORE_PATH ${Zycore_SOURCE_DIR}"
|
||||
"CMAKE_DISABLE_FIND_PACKAGE_Doxygen ON"
|
||||
CUSTOM_CACHE_KEY "c2d2"
|
||||
)
|
||||
endif()
|
||||
|
|
12
src/yuzu/externals/CMakeLists.txt
vendored
12
src/yuzu/externals/CMakeLists.txt
vendored
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# cpm
|
||||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Disable tests/tools in all externals supporting the standard option name
|
||||
set(BUILD_TESTING OFF)
|
||||
|
@ -14,11 +14,11 @@ set(BUILD_SHARED_LIBS OFF)
|
|||
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL ON)
|
||||
|
||||
# QuaZip
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME QuaZip-Qt6
|
||||
VERSION 1.3
|
||||
URL "https://github.com/crueter/quazip-qt6/archive/f838774d63.zip"
|
||||
CUSTOM_CACHE_KEY "f838"
|
||||
REPO "crueter/quazip-qt6"
|
||||
SHA f838774d63
|
||||
HASH 9f629a438699801244a106c8df6d5f8f8d19e80df54f530a89403a10c8c4e37a6e95606bbdd307f23636961e8ce34eb37a2186d589a1f227ac9c8e2c678e326e
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
for i in $@; do
|
||||
SUM=`wget -q $i -O - | sha512sum`
|
||||
echo "$i"
|
||||
echo "URL_HASH SHA512=$SUM" | cut -d " " -f1-2
|
||||
done
|
||||
SUM=`wget -q https://github.com/$1/archive/$2.zip -O - | sha512sum`
|
||||
echo "$SUM" | cut -d " " -f1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue