Skip to content

Commit d0c8a5e

Browse files
OpenSSL FIx
1 parent 26fd6d8 commit d0c8a5e

File tree

6 files changed

+1089
-2
lines changed

6 files changed

+1089
-2
lines changed

cmake/linux/BundleLinux.cmake.in

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
set(PROJECT_NAME "@PROJECT_NAME@")
22
set(QMAKE_EXECUTABLE "@QMAKE_EXECUTABLE@")
33
set(OPENSSL_FOUND @OPENSSL_FOUND@)
4+
set(OPENSSL_LIBRARIES "@OPENSSL_LIBRARIES@")
45
set(PYTHON_MODULES_DIR "@PYTHON_MODULES_DIR@")
56
set(PYTHON_VERSION "@PYTHON_VERSION@")
67
set(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
@@ -54,6 +55,15 @@ foreach(PLUGIN "platforms" "sqldrivers" "imageformats" "tls" "wayland-shell-inte
5455
endif()
5556
endforeach()
5657

58+
# Append the OpenSSL library to the list
59+
if(OPENSSL_FOUND AND NOT OPENSSL_LIBRARIES STREQUAL "")
60+
foreach(openssl_lib ${OPENSSL_LIBRARIES})
61+
collect_dependencies(${openssl_lib} PREREQUISITE_LIBS)
62+
gp_append_unique(PREREQUISITE_LIBS ${openssl_lib})
63+
get_filename_component(file_canonical ${openssl_lib} REALPATH)
64+
gp_append_unique(PREREQUISITE_LIBS ${file_canonical})
65+
endforeach()
66+
endif()
5767

5868
# Copy dependencies to 'share/hyperion/lib'
5969
file(INSTALL FILES ${PREREQUISITE_LIBS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/hyperion/lib")

cmake/windows/BundleWindows.cmake.in

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
set(ENABLE_MF @ENABLE_MF@)
22
set(ENABLE_DX @ENABLE_DX@)
33
set(OPENSSL_FOUND @OPENSSL_FOUND@)
4+
set(OPENSSL_INCLUDE_DIR "@OPENSSL_INCLUDE_DIR@")
45
set(TurboJPEG_INCLUDE_DIR "@TurboJPEG_INCLUDE_DIR@")
56
set(PYTHON_VERSION "@PYTHON_VERSION@")
67
set(CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@")
@@ -60,6 +61,47 @@ if(EXISTS @CMAKE_BINARY_DIR@/bin/@PROJECT_NAME@@CMAKE_EXECUTABLE_SUFFIX@)
6061
list(REMOVE_AT DEPENDENCIES 0 1)
6162
endwhile()
6263

64+
# Copy libssl/libcrypto to 'hyperion'
65+
if(OPENSSL_FOUND AND NOT OPENSSL_INCLUDE_DIR STREQUAL "")
66+
string(REGEX MATCHALL "[0-9]+" openssl_versions "@OPENSSL_VERSION@")
67+
list(GET openssl_versions 0 openssl_version_major)
68+
list(GET openssl_versions 1 openssl_version_minor)
69+
70+
set(open_ssl_version_suffix)
71+
if(openssl_version_major VERSION_EQUAL 1 AND openssl_version_minor VERSION_EQUAL 1)
72+
set(open_ssl_version_suffix "-1_1")
73+
else()
74+
set(open_ssl_version_suffix "-3")
75+
endif()
76+
77+
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64|ARM64|arm64")
78+
string(APPEND open_ssl_version_suffix "-arm64")
79+
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
80+
string(APPEND open_ssl_version_suffix "-x64")
81+
endif()
82+
83+
get_filename_component(OPENSSL_DIR "${OPENSSL_INCLUDE_DIR}" DIRECTORY)
84+
foreach(comp "ssl" "crypto")
85+
find_file(${comp}
86+
NAMES
87+
"lib${comp}${open_ssl_version_suffix}.dll"
88+
PATHS
89+
${OPENSSL_DIR}
90+
PATH_SUFFIXES
91+
bin
92+
)
93+
94+
if(${${comp}})
95+
install(
96+
FILES
97+
${${comp}}
98+
DESTINATION
99+
"${CMAKE_INSTALL_PREFIX}/bin"
100+
)
101+
endif()
102+
endforeach()
103+
endif()
104+
63105
# Create a qt.conf file in 'bin' to override hard-coded search paths in Qt plugins
64106
file(WRITE "${CMAKE_INSTALL_PREFIX}/bin/qt.conf" "[Paths]\nPlugins=../lib/\n")
65107

@@ -68,7 +110,12 @@ if(EXISTS @CMAKE_BINARY_DIR@/bin/@PROJECT_NAME@@CMAKE_EXECUTABLE_SUFFIX@)
68110
get_filename_component(TURBOJPEG_DIR "${TurboJPEG_INCLUDE_DIR}" DIRECTORY)
69111
find_file(TURBOJPEG_SHARED NAMES "turbojpeg.dll" PATHS ${TURBOJPEG_DIR} PATH_SUFFIXES bin)
70112
if(TURBOJPEG_SHARED)
71-
file(INSTALL FILES ${TURBOJPEG_SHARED} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
113+
file(INSTALL
114+
FILES
115+
${TURBOJPEG_SHARED}
116+
DESTINATION
117+
"${CMAKE_INSTALL_PREFIX}/bin"
118+
)
72119
endif()
73120
endif()
74121

0 commit comments

Comments
 (0)