externals: use openssl from vcpkg

This commit is contained in:
Alexandre Bouvier 2023-02-22 20:27:05 +01:00
parent a78a475815
commit 0245c5dc49
5 changed files with 19 additions and 37 deletions

3
.gitmodules vendored
View File

@ -13,9 +13,6 @@
[submodule "dynarmic"] [submodule "dynarmic"]
path = externals/dynarmic path = externals/dynarmic
url = https://github.com/MerryMage/dynarmic.git url = https://github.com/MerryMage/dynarmic.git
[submodule "libressl"]
path = externals/libressl
url = https://github.com/citra-emu/ext-libressl-portable.git
[submodule "libusb"] [submodule "libusb"]
path = externals/libusb/libusb path = externals/libusb/libusb
url = https://github.com/libusb/libusb.git url = https://github.com/libusb/libusb.git

View File

@ -67,6 +67,9 @@ if (YUZU_USE_BUNDLED_VCPKG)
if (YUZU_CRASH_DUMPS) if (YUZU_CRASH_DUMPS)
list(APPEND VCPKG_MANIFEST_FEATURES "dbghelp") list(APPEND VCPKG_MANIFEST_FEATURES "dbghelp")
endif() endif()
if (ENABLE_WEB_SERVICE)
list(APPEND VCPKG_MANIFEST_FEATURES "web-service")
endif()
include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake) include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake)
elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "") elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "")
@ -244,9 +247,6 @@ endif()
if (ENABLE_WEB_SERVICE) if (ENABLE_WEB_SERVICE)
find_package(cpp-jwt 1.4 CONFIG) find_package(cpp-jwt 1.4 CONFIG)
find_package(httplib 0.12 MODULE) find_package(httplib 0.12 MODULE)
if (NOT cpp-jwt_FOUND OR NOT httplib_FOUND)
find_package(OpenSSL 1.1 MODULE COMPONENTS Crypto SSL)
endif()
endif() endif()
if (YUZU_TESTS) if (YUZU_TESTS)

View File

@ -100,41 +100,18 @@ endif()
# Sirit # Sirit
add_subdirectory(sirit EXCLUDE_FROM_ALL) add_subdirectory(sirit EXCLUDE_FROM_ALL)
# LibreSSL
if (ENABLE_WEB_SERVICE AND DEFINED OPENSSL_FOUND)
if (WIN32 OR NOT OPENSSL_FOUND)
set(LIBRESSL_SKIP_INSTALL ON)
set(OPENSSLDIR "/etc/ssl/")
add_subdirectory(libressl EXCLUDE_FROM_ALL)
target_include_directories(ssl INTERFACE ./libressl/include)
target_compile_definitions(ssl PRIVATE -DHAVE_INET_NTOP)
get_directory_property(OPENSSL_LIBRARIES
DIRECTORY libressl
DEFINITION OPENSSL_LIBS)
else()
set(OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto)
endif()
endif()
# httplib # httplib
if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib) if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib)
add_library(httplib INTERFACE) set(HTTPLIB_REQUIRE_OPENSSL ON)
target_include_directories(httplib INTERFACE ./cpp-httplib) add_subdirectory(cpp-httplib EXCLUDE_FROM_ALL)
target_compile_definitions(httplib INTERFACE -DCPPHTTPLIB_OPENSSL_SUPPORT)
target_link_libraries(httplib INTERFACE ${OPENSSL_LIBRARIES})
if (WIN32)
target_link_libraries(httplib INTERFACE crypt32 cryptui ws2_32)
endif()
add_library(httplib::httplib ALIAS httplib)
endif() endif()
# cpp-jwt # cpp-jwt
if (ENABLE_WEB_SERVICE AND NOT TARGET cpp-jwt::cpp-jwt) if (ENABLE_WEB_SERVICE AND NOT TARGET cpp-jwt::cpp-jwt)
add_library(cpp-jwt INTERFACE) set(CPP_JWT_BUILD_EXAMPLES OFF)
target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) set(CPP_JWT_BUILD_TESTS OFF)
target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) set(CPP_JWT_USE_VENDORED_NLOHMANN_JSON OFF)
target_link_libraries(cpp-jwt INTERFACE ${OPENSSL_LIBRARIES}) add_subdirectory(cpp-jwt EXCLUDE_FROM_ALL)
add_library(cpp-jwt::cpp-jwt ALIAS cpp-jwt)
endif() endif()
# Opus # Opus

1
externals/libressl vendored

@ -1 +0,0 @@
Subproject commit 8929f818fd748fd31a34fec7c04558399e13014a

View File

@ -1,5 +1,5 @@
{ {
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "yuzu", "name": "yuzu",
"builtin-baseline": "9b22b40c6c61bf0da2d46346dd44a11e90972cc9", "builtin-baseline": "9b22b40c6c61bf0da2d46346dd44a11e90972cc9",
"version": "1.0", "version": "1.0",
@ -35,6 +35,15 @@
"dbghelp": { "dbghelp": {
"description": "Compile Windows crash dump (Minidump) support", "description": "Compile Windows crash dump (Minidump) support",
"dependencies": [ "dbghelp" ] "dependencies": [ "dbghelp" ]
},
"web-service": {
"description": "Enable web services (telemetry, etc.)",
"dependencies": [
{
"name": "openssl",
"platform": "windows"
}
]
} }
}, },
"overrides": [ "overrides": [