diff options
| author | crueter <crueter@eden-emu.dev> | 2026-06-02 07:02:31 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-06-02 07:02:31 +0200 |
| commit | a8047d3b122d69e8074a477c6b93f966fa77d3bc (patch) | |
| tree | 85387e4b3c3d5f5439c651e94d989f7efc454202 /.patch | |
| parent | cc8451f764979db23208dd5a55884cd62fd8b673 (diff) | |
[cmake] Fix OpenSSL flaky build by using a CMake script (#4047)
Something weird is happening with the CI that causes frequent build errors. For reasons I am not entirely certain of, Ninja fails to properly spawn a POSIX shell instance during the Make phase.
More investigation is in order, but for now fix it with the grand power of shelling out to CMake script
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4047
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to '.patch')
| -rw-r--r-- | .patch/openssl-cmake/0004-use-shell-wrapper.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/.patch/openssl-cmake/0004-use-shell-wrapper.patch b/.patch/openssl-cmake/0004-use-shell-wrapper.patch new file mode 100644 index 0000000000..76a19644df --- /dev/null +++ b/.patch/openssl-cmake/0004-use-shell-wrapper.patch @@ -0,0 +1,39 @@ +--- a/CMakeLists.txt 2026-06-01 23:53:16.498043856 -0400 ++++ b/CMakeLists.txt 2026-06-01 23:53:23.910543615 -0400 +@@ -312,13 +312,29 @@ + ${OPENSSL_SHARED_CRYPTO_LIBRARY} + ${OPENSSL_SHARED_SSL_LIBRARY} + ) +-add_custom_command( +- OUTPUT ${OPENSSL_BUILD_OUTPUT} +- COMMAND ${OPENSSL_BUILD_COMMAND} +- DEPENDS ${OPENSSL_SOURCES} +- WORKING_DIRECTORY ${OpenSSL_BINARY_DIR} +- VERBATIM +-) ++if (WIN32) ++ add_custom_command( ++ OUTPUT ${OPENSSL_BUILD_OUTPUT} ++ COMMAND ${OPENSSL_BUILD_COMMAND} ++ DEPENDS ${OPENSSL_SOURCES} ++ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR} ++ VERBATIM) ++else() ++ set(_openssl_build_script "${CMAKE_CURRENT_BINARY_DIR}/BuildOpenSSL.cmake") ++ file(WRITE ${_openssl_build_script} ++ "execute_process(\n" ++ " COMMAND ${OPENSSL_BUILD_COMMAND}\n" ++ " WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}\n" ++ " RESULT_VARIABLE _r)\n" ++ "if(_r)\n" ++ " message(FATAL_ERROR \"OpenSSL build failed: \${_r}\")\n" ++ "endif()\n") ++ add_custom_command( ++ OUTPUT ${OPENSSL_BUILD_OUTPUT} ++ COMMAND ${CMAKE_COMMAND} -P ${_openssl_build_script} ++ DEPENDS ${OPENSSL_SOURCES} ++ VERBATIM) ++endif() + + if(PROJECT_IS_TOP_LEVEL) + add_custom_target(openssl-build ALL DEPENDS ${OPENSSL_BUILD_OUTPUT}) |
