fix(cpn): Include openssl files in install packages (#2935)

* Fix packaged win 32 bit openssl file names

* Win install openssl from qt tools

* Fix filters and paths

* Fix github workflow for x64

* Remove export from run
This commit is contained in:
Neil Horne
2023-02-22 16:57:58 +10:00
committed by GitHub
parent 3c9fab0e8f
commit cbec97d76e
3 changed files with 33 additions and 22 deletions
+3 -2
View File
@@ -56,8 +56,7 @@ jobs:
mingw-w64-i686-libraqm \
mingw-w64-i686-SDL \
mingw-w64-i686-clang \
mingw-w64-i686-nsis \
mingw-w64-i686-openssl
mingw-w64-i686-nsis
python -m pip install clang
- name: Install Qt
@@ -67,6 +66,7 @@ jobs:
cache-key-prefix: 'install-qt-action-win32'
version: ${{ env.QT_VERSION }}
arch: ${{ env.MINGW_VERSION }}
tools: 'tools_openssl_x86'
- name: Check out the repo
uses: actions/checkout@v3
@@ -79,6 +79,7 @@ jobs:
run: |
mkdir output && \
CMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt/$QT_VERSION/$MINGW_PATH \
QT_TOOLS_OPENSSL_ROOT_PATH=$RUNNER_WORKSPACE/Qt/Tools/OpenSSL/Win_x86 \
tools/build-companion.sh "$(pwd)" "$(pwd)/output/"
- name: Compose release filename
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
+3 -2
View File
@@ -70,8 +70,7 @@ 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-openssl
mingw-w64-x86_64-nsis
python -m pip install clang
- name: Install Qt
@@ -81,6 +80,7 @@ jobs:
cache-key-prefix: 'install-qt-action-win64'
version: ${{ env.QT_VERSION }}
arch: ${{ env.MINGW_VERSION }}
tools: 'tools_openssl_x64'
- name: Check out the repo
uses: actions/checkout@v3
@@ -93,6 +93,7 @@ jobs:
run: |
mkdir output && \
CMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt/$QT_VERSION/$MINGW_PATH \
QT_TOOLS_OPENSSL_ROOT_PATH=$RUNNER_WORKSPACE/Qt/Tools/OpenSSL/Win_x64 \
tools/build-companion.sh "$(pwd)" "$(pwd)/output/"
- name: Compose release filename
+27 -18
View File
@@ -348,11 +348,21 @@ if(POLICY CMP0026)
cmake_policy(SET CMP0026 OLD) # https://cmake.org/cmake/help/v3.0/policy/CMP0026.html
endif()
# OpenSSL
# environment variable set in github workflows and build-edgetx Dockerfile
if (DEFINED ENV{QT_TOOLS_OPENSSL_ROOT_PATH})
set(OPENSSL_ROOT_DIR "$ENV{QT_TOOLS_OPENSSL_ROOT_PATH}")
else()
message(STATUS "Environment variable QT_TOOLS_OPENSSL_ROOT_PATH not defined. Performing default OpenSSL library search.")
endif()
find_package(OpenSSL)
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
message(STATUS "install " ${CMAKE_BINARY_DIR} " to " ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS ${COMPANION_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS ${SIMULATOR_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${CMAKE_BINARY_DIR}/plugins/ DESTINATION "${SIMULATOR_LIB_INSTALL_PATH}")
install(DIRECTORY ${CMAKE_BINARY_DIR}/plugins/ DESTINATION ${SIMULATOR_LIB_INSTALL_PATH})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/companion.desktop DESTINATION share/applications RENAME companion${C9X_NAME_SUFFIX}.desktop)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/simulator.desktop DESTINATION share/applications RENAME simulator${C9X_NAME_SUFFIX}.desktop)
if(${CMAKE_INSTALL_PREFIX} MATCHES "/usr/local")
@@ -370,6 +380,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(FILES images/linuxicons/scalable/companion.svg DESTINATION ${INSTALL_TEMP_SHR_PFX}share/icons/hicolor/scalable/apps RENAME companion${C9X_NAME_SUFFIX}.svg)
install(FILES ../targets/linux/45-companion-taranis.rules DESTINATION ${INSTALL_TEMP_LIB_PFX}lib/udev/rules.d RENAME 45-companion${C9X_NAME_SUFFIX}-taranis.rules)
install(FILES ../targets/linux/45-usbasp.rules DESTINATION ${INSTALL_TEMP_LIB_PFX}lib/udev/rules.d RENAME 45-companion${C9X_NAME_SUFFIX}-usbasp.rules)
if (OPENSSL_FOUND)
get_filename_component(OPENSSL_SSL_LIBRARY_DIR ${OPENSSL_SSL_LIBRARY} DIRECTORY)
# install only files Qt networking requires
install(DIRECTORY ${OPENSSL_SSL_LIBRARY_DIR}/ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib FILES_MATCHING PATTERN "engines*" EXCLUDE PATTERN "pkg*" EXCLUDE PATTERN "*.so*")
endif()
# Linux specific code
set(OperatingSystem "Linux")
# Shortcut target
@@ -408,23 +425,15 @@ elseif(WIN32)
message(WARNING "Installer: SDL.dll not found, set SDL_LIBRARY_PATH 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.")
if (OPENSSL_FOUND)
get_filename_component(OPENSSL_SSL_LIBRARY_DIR ${OPENSSL_SSL_LIBRARY} DIRECTORY)
set(OPENSSL_BIN_DIR "${OPENSSL_SSL_LIBRARY_DIR}/../bin")
if (EXISTS "${OPENSSL_BIN_DIR}")
# install only files Qt networking requires
install(DIRECTORY ${OPENSSL_BIN_DIR}/ DESTINATION ${INSTALL_DESTINATION} FILES_MATCHING PATTERN "*.dll")
else()
message(STATUS "Installer: OpenSSL bin directory not found, dlls not bundled.")
endif()
endif()
endif() # WIN32 install