From a73ccb15a1b1094b7c5de14d50dcfa28e0e00e3a Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 9 Sep 2023 01:40:37 +0200 Subject: [PATCH] Enable MacOS support for Twitch action --- src/macro-external/twitch/CMakeLists.txt | 27 ++++++++++++++---------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/macro-external/twitch/CMakeLists.txt b/src/macro-external/twitch/CMakeLists.txt index 37cd39be..3663d32a 100644 --- a/src/macro-external/twitch/CMakeLists.txt +++ b/src/macro-external/twitch/CMakeLists.txt @@ -3,12 +3,6 @@ project(advanced-scene-switcher-twitch) # --- Check requirements --- -if(OS_MACOS) - message( - WARNING "Twitch support disabled on MacOS due to OpenSSL linking issues!") - return() -endif() - get_target_property(ADVSS_SOURCE_DIR advanced-scene-switcher-lib SOURCE_DIR) set(CPP_HTTPLIB_DIR "${ADVSS_SOURCE_DIR}/deps/cpp-httplib") if(NOT EXISTS "${CPP_HTTPLIB_DIR}/CMakeLists.txt") @@ -19,16 +13,27 @@ endif() add_subdirectory("${CPP_HTTPLIB_DIR}" "${CPP_HTTPLIB_DIR}/build" EXCLUDE_FROM_ALL) -find_package(OpenSSL) -if(NOT OPENSSL_FOUND) - message(WARNING "OpenSSL not found!\n" "Twitch support will be disabled!\n\n") - return() +if(NOT OPENSSL_INCLUDE_DIR OR NOT OPENSSL_LIBRARIES) + find_package(OpenSSL) + if(NOT OPENSSL_FOUND) + message(WARNING "OpenSSL not found!\n" + "Twitch support will be disabled!\n\n") + return() + endif() endif() +find_package(ZLIB) + # --- End of section --- add_library(${PROJECT_NAME} MODULE) target_compile_definitions(${PROJECT_NAME} PRIVATE CPPHTTPLIB_OPENSSL_SUPPORT=1) +if(OS_MACOS) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN=1) + target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation") + target_link_libraries(${PROJECT_NAME} PRIVATE "-framework Security") +endif() target_sources( ${PROJECT_NAME} @@ -45,7 +50,7 @@ setup_advss_plugin(${PROJECT_NAME}) set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") target_include_directories(${PROJECT_NAME} PRIVATE "${CPP_HTTPLIB_DIR}/" "${OPENSSL_INCLUDE_DIR}") -target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENSSL_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENSSL_LIBRARIES} ZLIB::ZLIB) install_advss_plugin(${PROJECT_NAME}) if(OS_WINDOWS) # Couldn't really find a better way to install runtime dependencies for