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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user