@@ -26,42 +26,42 @@ if(LIBOPENCOR_PREBUILT_OPENSSL)
2626 if (INTEL_MODE)
2727 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
2828 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
29- 14cfbd7462e67547681ae2aa541c43942b550f40 )
29+ ac4440ae3dba3415322fc833bef87b8b4d1b082b )
3030 else ()
3131 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
3232 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
33- 58a58fbb31ea4c3df0988081e04142d2b7e94116 )
33+ cd571c829ce744dbfc82bb1998f4d566b289cf93 )
3434 endif ()
3535 else ()
3636 if (INTEL_MODE)
3737 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
3838 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
39- 3dc66349cd5e9d0e98a375b646644196c646effb )
39+ ed9489d5ed226ed79ac2d1042a4a22bcdc899a8c )
4040 else ()
4141 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
4242 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
43- 4fe185f053abc7aa4eceb9fe5bde1c292aee7f4c )
43+ dec6518c275c9f72aeeea068328ac86f0b87fb82 )
4444 endif ()
4545 endif ()
4646 elseif (APPLE )
4747 if (INTEL_MODE)
4848 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
4949 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
50- dc50c2a300b6b72d63559af6994f46d7897cb8ad )
50+ 67f37a19f38abf06220619074ee880ca63b4a804 )
5151 else ()
5252 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
5353 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
54- 57506aeacc82ef50f2acf4723da1fecc3e6e9b3f )
54+ 8c5d0afbbd2dfe2120502b728e8e5e9ff8f69ecc )
5555 endif ()
5656 else ()
5757 if (INTEL_MODE)
5858 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
5959 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
60- 8b85efd5977077fafa194ae29fd6d9c6ca15c9b5 )
60+ 934a9c39cd923b2466f83066952b17295b8dadf5 )
6161 else ()
6262 retrieve_package (${PACKAGE_NAME} ${PACKAGE_VERSION}
6363 ${PACKAGE_REPOSITORY} ${RELEASE_TAG}
64- b4b0b49976ca19f04310fbdee5474daf928833a1 )
64+ cc6a2de4b58b0b717e0684534c17ba5c90e6e7ab )
6565 endif ()
6666 endif ()
6767else ()
@@ -105,13 +105,29 @@ else()
105105 list (APPEND CONFIG_OPTIONS "-Wa,--noexecstack" )
106106 endif ()
107107
108+ if (WIN32 AND NOT INTEL_MODE)
109+ #---GRY--- THE BELOW SHOULD BE REMOVED ONCE THE OpenSSL ISSUE ON WoA HAS BEEN FIXED.
110+
111+ # There is currently an issue with building OpenSSL on Windows on ARM, which results in libcurl segfaulting
112+ # whenever we try to use it. A temporary fix is to build OpenSSL without optiomisation. We can do this by
113+ # setting the CFLAGS environment variable. By default, the flags passed to the C compiler are
114+ # "/W3 /wd4090 /nologo /O2", so here we set CFLAGS to "/W3 /wd4090 /nologo". See
115+ # https://github.com/openssl/openssl/issues/26239 and
116+ # https://developercommunity.visualstudio.com/t/Openssl-crashes-on-arm64-when-built-with/10896571 for more
117+ # details.
118+
119+ string (REPLACE " " "\\ " ESCAPED_CMAKE_COMMAND ${CMAKE_COMMAND} )
120+ string (REPLACE " " "\\ " ESCAPED_CFLAGS "/W3 /wd4090 /nologo" )
121+
122+ set (PRE_CONFIGURE_COMMAND ${ESCAPED_CMAKE_COMMAND} -E env CFLAGS=${ESCAPED_CFLAGS} )
123+ endif ()
124+
108125 build_package (${PACKAGE_NAME}
109126 URL
110127 https://github.com/opencor/${PACKAGE_REPOSITORY}/archive/refs/tags/${RELEASE_TAG}.tar.gz
111128 DOWNLOAD_NO_PROGRESS ON
112129 CONFIGURE_COMMAND
113- ${PERL_EXECUTABLE} <SOURCE_DIR>/Configure ${PLATFORM} ${CONFIG_OPTIONS}
114- ${PATCH_COMMANDS}
130+ ${PRE_CONFIGURE_COMMAND} ${PERL_EXECUTABLE} <SOURCE_DIR>/Configure ${PLATFORM} ${CONFIG_OPTIONS}
115131 BUILD_COMMAND
116132 ${MAKE_NMAKE_COMMAND}
117133 INSTALL_COMMAND
0 commit comments