From 0245c5dc4953b11397bd80a7bf658a736f1340e1 Mon Sep 17 00:00:00 2001 From: Alexandre Bouvier Date: Wed, 22 Feb 2023 20:27:05 +0100 Subject: [PATCH] externals: use openssl from vcpkg --- .gitmodules | 3 --- CMakeLists.txt | 6 +++--- externals/CMakeLists.txt | 35 ++++++----------------------------- externals/libressl | 1 - vcpkg.json | 11 ++++++++++- 5 files changed, 19 insertions(+), 37 deletions(-) delete mode 160000 externals/libressl diff --git a/.gitmodules b/.gitmodules index 8e98ee9cb..75c7b5fe0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,9 +13,6 @@ [submodule "dynarmic"] path = externals/dynarmic url = https://github.com/MerryMage/dynarmic.git -[submodule "libressl"] - path = externals/libressl - url = https://github.com/citra-emu/ext-libressl-portable.git [submodule "libusb"] path = externals/libusb/libusb url = https://github.com/libusb/libusb.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 906073602..0f344ffd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,6 +67,9 @@ if (YUZU_USE_BUNDLED_VCPKG) if (YUZU_CRASH_DUMPS) list(APPEND VCPKG_MANIFEST_FEATURES "dbghelp") endif() + if (ENABLE_WEB_SERVICE) + list(APPEND VCPKG_MANIFEST_FEATURES "web-service") + endif() include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake) elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "") @@ -244,9 +247,6 @@ endif() if (ENABLE_WEB_SERVICE) find_package(cpp-jwt 1.4 CONFIG) 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() if (YUZU_TESTS) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 966f5e94c..f2a560f04 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -100,41 +100,18 @@ endif() # Sirit 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 if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib) - add_library(httplib INTERFACE) - target_include_directories(httplib INTERFACE ./cpp-httplib) - 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) + set(HTTPLIB_REQUIRE_OPENSSL ON) + add_subdirectory(cpp-httplib EXCLUDE_FROM_ALL) endif() # cpp-jwt if (ENABLE_WEB_SERVICE AND NOT TARGET cpp-jwt::cpp-jwt) - add_library(cpp-jwt INTERFACE) - target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) - target_compile_definitions(cpp-jwt INTERFACE CPP_JWT_USE_VENDORED_NLOHMANN_JSON) - target_link_libraries(cpp-jwt INTERFACE ${OPENSSL_LIBRARIES}) - add_library(cpp-jwt::cpp-jwt ALIAS cpp-jwt) + set(CPP_JWT_BUILD_EXAMPLES OFF) + set(CPP_JWT_BUILD_TESTS OFF) + set(CPP_JWT_USE_VENDORED_NLOHMANN_JSON OFF) + add_subdirectory(cpp-jwt EXCLUDE_FROM_ALL) endif() # Opus diff --git a/externals/libressl b/externals/libressl deleted file mode 160000 index 8929f818f..000000000 --- a/externals/libressl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8929f818fd748fd31a34fec7c04558399e13014a diff --git a/vcpkg.json b/vcpkg.json index ef271f778..fbadca0e6 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -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", "builtin-baseline": "9b22b40c6c61bf0da2d46346dd44a11e90972cc9", "version": "1.0", @@ -35,6 +35,15 @@ "dbghelp": { "description": "Compile Windows crash dump (Minidump) support", "dependencies": [ "dbghelp" ] + }, + "web-service": { + "description": "Enable web services (telemetry, etc.)", + "dependencies": [ + { + "name": "openssl", + "platform": "windows" + } + ] } }, "overrides": [