From 887902bf4fef9fa7526d837fd3f81b301b34274c Mon Sep 17 00:00:00 2001 From: elecpower Date: Wed, 27 Jul 2022 08:59:30 +1000 Subject: [PATCH] Include OpenSSL 1.1 in Win32 and Win64 installer packages --- .github/workflows/win-cpn-32.yml | 3 ++- .github/workflows/win_cpn-64.yml | 3 ++- companion/src/CMakeLists.txt | 34 +++++++++++++++------------- tools/setup_buildenv_msys2_stage2.sh | 2 +- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/.github/workflows/win-cpn-32.yml b/.github/workflows/win-cpn-32.yml index 529631a4b..aed1cfcf8 100644 --- a/.github/workflows/win-cpn-32.yml +++ b/.github/workflows/win-cpn-32.yml @@ -57,7 +57,8 @@ jobs: mingw-w64-i686-libraqm \ mingw-w64-i686-SDL \ mingw-w64-i686-clang \ - mingw-w64-i686-nsis + mingw-w64-i686-nsis \ + mingw-w64-i686-openssl python -m pip install clang - name: Cache Qt diff --git a/.github/workflows/win_cpn-64.yml b/.github/workflows/win_cpn-64.yml index 037695714..d8b8bf687 100644 --- a/.github/workflows/win_cpn-64.yml +++ b/.github/workflows/win_cpn-64.yml @@ -68,7 +68,8 @@ jobs: mingw-w64-x86_64-libraqm \ mingw-w64-x86_64-SDL \ mingw-w64-x86_64-clang \ - mingw-w64-x86_64-nsis + mingw-w64-x86_64-nsis \ + mingw-w64-x86_64-openssl python -m pip install clang - name: Cache Qt diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 3cbfff2da..95c1f331f 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -404,22 +404,24 @@ elseif(WIN32) message(WARNING "Installer: SDL.dll not found, set SDL_LIBRARY_PATH manually.") endif() - # libeay (SSL) dlls (used by QtNetwork) -- not strictly required but avoids possible issues with downloads and Qt warnings. - # file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" WIN_PROGRAM_FILES) - # find_path(EAY_LIB_DIR libeay32.dll HINTS - # "${WIN_PROGRAM_FILES}/OpenSSL" "${WIN_PROGRAM_FILES}/OpenSSL-Win32" - # "C:/OpenSSL/" "C:/OpenSSL-Win32/" - # "${WIN_EXTRA_LIBS_PATH}" "${WIN_EXTRA_LIBS_PATH}/OpenSSL" "${WIN_EXTRA_LIBS_PATH}/OpenSSL-Win32" - # "${MINGW_DIR}/../opt/bin" - # "${PYTHON_DIRECTORY}/lib/site-packages/PyQt4" - # PATH_SUFFIXES bin - # DOC "Path to libeay32.dll and ssleay32.dll (OpenSSL)" - # ) - # if (EAY_LIB_DIR) - # install(FILES "${EAY_LIB_DIR}/libeay32.dll" "${EAY_LIB_DIR}/ssleay32.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) - # else() - # message(WARNING "Installer: SSL libs not found, set EAY_LIB_DIR manually.") - # endif() + # SSL dlls (used by QtNetwork) + file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" WIN_PROGRAM_FILES) + # try 64-bit + find_path(SSL_LIB_DIR libssl-1_1-x64.dll libssl-1_1-x86.dll HINTS + "${WIN_PROGRAM_FILES}/OpenSSL" "${WIN_PROGRAM_FILES}/OpenSSL-Win32" + "C:/OpenSSL/" "C:/OpenSSL-Win32/" + "${WIN_EXTRA_LIBS_PATH}" "${WIN_EXTRA_LIBS_PATH}/OpenSSL" "${WIN_EXTRA_LIBS_PATH}/OpenSSL-Win32" + "${MINGW_DIR}/../opt/bin" + "${PYTHON_DIRECTORY}/lib/site-packages/PyQt4" + PATH_SUFFIXES bin + DOC "Path to OpenSSL for Windows 1.1" + ) + if (SSL_LIB_DIR) + install(FILES "${SSL_LIB_DIR}/libssl-1_1-x64.dll" "${SSL_LIB_DIR}/libcrypto-1_1-x64.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) + install(FILES "${SSL_LIB_DIR}/libssl-1_1-x86.dll" "${SSL_LIB_DIR}/libcrypto-1_1-x86.dll" DESTINATION ${INSTALL_DESTINATION} OPTIONAL) + else() + message(WARNING "Installer: SSL libs not found, set SSL_LIB_DIR manually.") + endif() endif() # WIN32 install ############# Packaging #################### diff --git a/tools/setup_buildenv_msys2_stage2.sh b/tools/setup_buildenv_msys2_stage2.sh index 46f44ef3f..ebc72dc81 100644 --- a/tools/setup_buildenv_msys2_stage2.sh +++ b/tools/setup_buildenv_msys2_stage2.sh @@ -14,7 +14,7 @@ do done echo "=== Step $((STEP++)): Installing packages ===" -pacman -S --noconfirm mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-pillow mingw-w64-x86_64-python-lz4 mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-zlib mingw-w64-x86_64-libtiff mingw-w64-x86_64-freetype mingw-w64-x86_64-lcms2 mingw-w64-x86_64-libwebp mingw-w64-x86_64-openjpeg2 mingw-w64-x86_64-libimagequant mingw-w64-x86_64-libraqm mingw-w64-x86_64-SDL mingw-w64-x86_64-nsis mingw-w64-x86_64-clang +pacman -S --noconfirm mingw-w64-x86_64-cmake mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-pillow mingw-w64-x86_64-python-lz4 mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-zlib mingw-w64-x86_64-libtiff mingw-w64-x86_64-freetype mingw-w64-x86_64-lcms2 mingw-w64-x86_64-libwebp mingw-w64-x86_64-openjpeg2 mingw-w64-x86_64-libimagequant mingw-w64-x86_64-libraqm mingw-w64-x86_64-SDL mingw-w64-x86_64-nsis mingw-w64-x86_64-clang mingw-w64-x86_64-openssl if [[ $PAUSEAFTEREACHLINE == "true" ]]; then echo "Step finished. Please check the output above and press Enter to continue or Ctrl+C to stop." read